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