编译丨千山
我和很多杰出的软件工程师们一起工作过,他们有的来自FAANG之类的大公司,有的来自正处于创业阶段的小公司 。
这些工程师中有人自主创业,也有人在大型科技公司领导了数十亿美元的项目 。在我与他们一起工作的时间里,我注意到他们绝大部分人的一些共通的编程和工作习惯 。我想,或许正是这些习惯让他们成为了行业金字塔中最顶尖的那1% 。
1、成为一名工程师,而不是码农
工程是为了解决问题而诞生的 。
最好的工程师将代码视为达到目的的手段 。
虽然写代码是一种乐趣 , 但没有目的地写代码是没有意义的 。代码应该用于为用户设计解决方案 。
某种意义上,编程是一种创造性的追求 。创造力在约束下茁壮成长 。添加要解决的明确问题的“约束”,允许工程师以他们认为合适的方式自由地探索和创建解决方案 。
我所知道的最好的工程师都是有产品意识的:首先考虑为人类解决问题 。说到这里,就引出了下一点 。
2、为人而不是为机器编写代码
“任何傻瓜都可以编写计算机可以理解的代码 。优秀的程序员编写人类可以理解的代码 。”
代码是为人类编写的,而不仅仅是为计算机编写的 。
代码是为团队中的工程师准备的,他们会阅读、维护并在代码的基础上进行构建 。
代码是为用户准备的,不管是用手机的孩子,还是调用API的开发者,或者是你自己 。

文章插图
图片
我认识的最好的工程师总是为所有受众评估他们代码的价值 。
如果他们没有打动某个受众,则该代码就不会投入生产 。
3、与代码本身分离
优秀的工程师不依附于代码本身 。
即使他们已经完成了90%,如果改变意味着最终的结果会更好,那么他们不害怕删除代码并重新开始 。
代码不是个人的,所以反馈是从容的 。
代码并不完美 。没有人关心完美的代码 。他们关心的是带来变化的代码 。
教会自己不依附于代码的最好方法是认识到,在20年内,你的大部分代码很有可能成为技术债务、被弃用或被重写 。
4、使用一致的标准
编写代码时,请坚持一致的编码标准和风格 。一致性使代码更容易被未来的你和你的团队成员阅读和理解 。
一致的风格指南可以让团队和代码库更容易扩展 。这就是为什么Meta和google这样的公司能够快速发布如此多的代码,而不会随着时间的推移使代码库变得不可读和不可维护 。

文章插图
图片
我认识的每一个优秀的人都内化了团队的代码标准,并尽可能严格地遵循它,洞悉它的好处 。
5、写简单干净的代码
我认识的每一位精英工程师都编写了一些代码,这些代码编写起来可能很复杂 , 但最终阅读和理解起来都很简单 。我能想到的最好的词就是他们的代码很美观 。
他们的代码干净、有条理、合乎逻辑 。在他们的代码中做出的每个决定都是有意义的,当有些事情没有意义时,它会在代码中被很好地记录下来 。
编写干净代码的一个好方法是遵循原则,比如SOLID原则 。虽然它们最初是用面向对象编程(OOP)设计的,但它们可以扩展到通用编程:
- 单一责任:一个类只能有一个责任 。
- open-closed:软件对象(类、模块等)应该开放扩展,但关闭修改,允许可预测、可维护的代码 。
- Liskov 替换:子类型必须可替换其基本类型 , 而不会影响程序的正确性 。
- 接口隔离:代码不应该依赖于没有使用全部接口的大型接口 。相反 , 包应该包含并允许更小的、特定的接口被导入 。
- 依赖反转:高级模块不应依赖于低级模块;两者都应依赖于抽象 , 从而促进更灵活和解耦的系统设计 。
这方面的一个例子是命名 。好的命名没有神奇的值、明确的区别、描述性的函数名称和可理解的变量 。
推荐阅读
- 养胃护胃的好习惯 养胃护胃的食材有哪些
- 慢走丝编程工资一般多少 慢走丝编程
- 怎样养成良好的运动习惯 如何养成良好的锻炼
- 怎样才能做到自然 习惯怎样才能成自然
- 中国的过年风俗有哪些 中国过年的风俗习惯
- 10个可以让你变瘦的好习惯,懂事的都学起来了
- 26岁姑娘患上“死臀综合征”!她的这个习惯很多人都有→
- 过年的时候守岁的寓意七个字 过年的时候守岁的寓意
- SpringBoot 并发编程学习历程
- ChatGPT不是唯一:自动编写程序的另七个选择!
