其实程序员这个职位是现实世界和计算机的翻译者, 如果只懂现实需求不懂技术实现就很容易做出性能低下的产品, 如果只懂计算机而不理解现实就容易走火入魔, 写很多技巧很高但无用的代码。
从我的经验看, 编程中对风格的注重会比技巧更重要:
- 思路要清晰: 写代码之前, 一定要在白纸或者白板上画一画逻辑流程, 如果整个程序的大方向画不出来, 就证明自己没有想好, 世界上最混乱的代码就是逻辑不清晰
- 重构要讲究时机: 一般最好的时机在于项目中后期, 等需求都稳定以后, 很少再添加和修改什么功能的时候重构比较好, 不要在特别前期去重构, 特别是很多同学, 需求还没有固定, 看到重复的代码就重构, 但往往很多重构会导致抽象过度再改代码就很难了。 我的习惯是, 对特别绕的逻辑代码梳理重构, 反而一些轻微重复但逻辑简单的函数不去重构, 一是这些函数比较简单容易理解; 二是简单的函数过度重构就会导致逻辑更复杂, bug 更多
- 名字要易于理解: 很多时候, 我们喜欢起一些复杂的名字, 我觉得简单的名字就挺好, 尽量不要说黑话, 程序写多了其实更靠近西方的习惯, 我相信西方的很多程序员因为是母语的原因, 对于他们而言写代码更像是写作
都是一些非常浅显易懂的道理, 这些年我自己的开源项目代码越写越简单, 所谓的高深技巧不过是知识罢了, 你知道, 别人暂时不知道而已。
而很多研发同学做不到的原因我觉得主要有三点:
- 逻辑不清晰的主要原因是不想了解现实, 刚才我们说了程序员本质是翻译者, 如果不了解现实, 逃避现实, 就容易逻辑不清晰, 逻辑不清晰怎么能做好翻译者呢?
- 洁癖过度容易导致特别喜欢在细节上做到尽善尽美, 程序有时候就像一本小说一样, 真正吸引人的是宏大的构想, 如果我们只在细节上雕花, 过度洁癖, 有时候重构过度反而自己砸自己的脚
- 要有服务意识, 当我们理解程序员不过是普通的工作以后, 就会发现‘超强能力 + 服务意识’会让自己的生活过的越来越好, 那时候就不会过度的追求在技术上一定要比别人强多少, 放弃狭隘比较的时候, 写代码的心境会更加自然, 代码也容易写的更清晰柔和, 容易理解
今天的分享就到这里了, 希望能帮助到你们。