之前对 C
语言中宏定义的认知十分简单,包括但不限于停留在以下浅薄的层面:
1 |
上述代码完全是大学课本中的用法。但当我看到实际项目中宏的用法后完全是一头雾水,所以自己也要写出那种高逼格让别人看不太懂的代码。宏远远比我想象的要强大,所以本文为每个宏技巧都配备了一个实用场景。
- 字符串化操作符,实现一个简单的自动化测试样例
- 字符串连接,实现一个具备计时功能的宏
- X 宏,实现根据输入执行不同的函数
- 特殊宏
__VA_ARGS__
,实现一个简单的日志函数
之前对 C
语言中宏定义的认知十分简单,包括但不限于停留在以下浅薄的层面:
1 | #define PI 3.14 |
上述代码完全是大学课本中的用法。但当我看到实际项目中宏的用法后完全是一头雾水,所以自己也要写出那种高逼格让别人看不太懂的代码。宏远远比我想象的要强大,所以本文为每个宏技巧都配备了一个实用场景。
__VA_ARGS__
,实现一个简单的日志函数整体的开发感受是:缺乏一个合理的、完整的软件开发流程或规范。
写在前面。希望你不会有快速搭建 UI 界面为他人服务这种迫切的需求。虽然这是我的博客,但是我并不希望你搜到他。对于完全未知的领域,快速搭建、快速学习、不会就去学、不会就查、速成,通过这种方式写出来的代码一定是不好的,心累的,事倍功半的,也一定存在多多少少的 bug
和无法实现的逻辑。
但也有一个好消息,如果你完全不会前端后端,只会 Python
,看了本文也能搭建完成的前后端服务,但距离入门的全栈工程师还差很远。
没想到有一天写 python
的时候也会想着如何去节省内存。平时写 python
的时候根本不会关注这些,变量什么的直接创建和使用就完了,也不用考虑内存的释放,反正有垃圾回收机制。只不过这次数据量过大,debug
的时候发现内存一直在申请,导致系统彻底的卡死。
可能也是从事算法的优化工作养成了职业病,每次写代码的时候都会想,这些代码消耗的时间怎么样,占用的空间怎么样,数据结构是否可以继续优化,这些逻辑有没有更优雅的写法。
注:本文程序中使用 psutil
库来监测进程使用的内存大小,需要 pip install psutil
一下。
职场新人兼新手程序员斗胆开了新坑「如何写出更好的程序」,所见所得都是来自实际写代码时自己的思考,且已脱敏。这一系列不包含任何复杂的技术,也不包含任何难懂的代码。只是将核心问题暴露出来,针对这些场景,如何写出可维护性更高、更简洁优雅的代码。
目前仅包括 python
装饰器的使用,等某天遇到其他技术也可以减少代码的修改时,会追加到本文。
职场新人兼新手程序员斗胆开了新坑「如何写出更好的程序」,所见所得都是来自实际写代码时自己的思考,且已脱敏。这一系列不包含任何复杂的技术,也不包含任何难懂的代码。只是将核心问题暴露出来,针对这些场景,如何写出可维护性更高、更简洁优雅的代码。
以 python
为例,本文的主要内容包括:如何使用配置文件,以及如何减少代码中的硬编码,引申到了代码的组织架构和可维护性上。
2023.7.10 入职距今已经两个月零 3 天了,培训课程十分紧张也没来得及做一些技术的思考和整理。主要是下班回家后只想躺着玩手机,周末持续性出去撒欢。 但只学习不思考和整理是程序员的忌讳。培训课程结束后,会对这两个月的培训时间进行思考,同时对未来该怎么更好的工作也进行一个思考,甚至包括如何更好的休息锻炼来保持充沛的精力。
回到正文,git
是程序员写框架和交流代码时的必要工具,而过于贫瘠的实操经验导致我真的不会这玩意。尤其是多人协作 pull, merge
或者 reset
时,时常把代码搞的乱七八糟。所以在这里记录 git
的踩坑记录。
git
操作时很大程度受限于实际的情景,本地基于什么分支进行了什么修改,是否暂存,是否提交,是否有冲突等等等等。出问题后去网上搜索时,网上的例子和本地的例子不一定很符合,或者说只有一半符合。往往不知道该执行哪些命令,是否会把文件弄的很乱无法撤回。
这个时候建议把实际情景描述一下,去问问 GPT
,以我的使用经验,得到的回答 99.9% 都是可用的。