为啥程序员总觉得别人代码很烂呢
首先这个题目有待商榷,一个初级程序员看一个高级程序员一般情况下不会说人家很烂。如果我说烂,那它就是真的烂,我们说人家的代码烂往往因为我们自己看不懂,恰恰说明了代码烂,好的代码不会看不懂。那么我们来说说我理解的什么是好的代码,分几个层次来说,简单说吧,这个问题可以写本书。第一、代码一眼看去要有一种美感,整齐,干净,空行空格合适合理。第二、命名要有规律性并知名答意(该用动词用动词,该用名词用名词,如果需要写注释额外说明我认为还有改进的余地)。名字说明了你对程序或者说你对完成这件事该怎么干的理解,举个例子iOS中的界面与界面之间的segue,非常好的名字,即是名字同时也是面向对象的抽象,而且用现实生活中的一个单词“segue(转场)”来命名,segue就是衔接前后界面(场)的连接器。第三、最关键的是化整为零的思想,时刻要理解并贯彻“解耦”这个词,比如数据源与UI的分离,适配器的采用,什么时候用异步的思想,其实这就是各种书上介绍的设计模式的灵活运用,跟第二条起名也有关系,如果你编码的时候发现我他妈的真的不知道起个什么名字好了,说明你真的没有抽象好。第四、求甚解,适当的最求性能,比如ios中nsarray的底层实现其实是链表(对于java就是LinkList),那么采用快速循环和枚举器则是最优方式。而for循环index变量然后再拿index取对象是最垃圾的方式。我是一名38岁的老技术,刚工作时候用linux标准c开发,我的码农生涯开发过各种各样的轮子(并不是没有轮子),我反对“不要重复造轮子这句话”,造轮子,求甚解,造的轮子最适合自己,除非这个轮子就是为你量身定制并且你对轮子很了解。我的职业生涯中写过几十万行代码,基本上也删除过几十万行代码,好的代码就是不断迭代出来的,而我们自己也在不断迭代。
■网友
作为一名从业多年的IT人,我来回答一下这个问题。
对于程序员来说,遇到对代码质量不太关注的程序员是比较常见的事情,之所以代码质量不高,一方面原因是自身不太关注于代码的整体管理,另一方面原因是经验不足。实际上,很多团队在做review的时候,针对于代码质量的定义也有不同的标准,这也会导致很多新成员在加入项目组的初期,会出现代码风格不统一的情况。
按照历史经验来看,代码质量差有多种不同的情况,一种是代码本身不规范,但是性能和功能是没用问题的,还有一种情况是,代码不仅不规范,代码的重复率也很高(抽象程度不够),这种情况就是一个比较大的隐患,未来可能会有较多的bug陆续暴露出来。我曾经遇到过一个iOS程序员,在每次版本迭代的时候,他的代码就一定会出现问题,这就说明他的代码存在很多问题,这也比较影响产品的整体迭代周期。
要想解决代码比较乱的问题,除了团队做定期的review之外,还有一个办法就是做代码互测,这种办法是比较高效的,也是不少团队经常采用的方案。代码互测通常在两至三人之间展开,这样能够尽快形成一个统一的代码标准,从而提升代码的可维护性。代码互测还有一个比较好的优势,那就是可以让代码质量较差的程序员,能够迅速得到成长。所以,如果感觉团队成员的代码质量太差,可以邀请他跟你做代码互测。
最后,随着目前开发环境逐渐向云计算平台迁移,代码质量的管理也有了更多的方案,基于微接口的编程方式,也能够在很大程序上避免一些基础性的代码问题。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
■网友
首先提问者我就想怼你,你把程序员都黑了,这个世界还是有很多人懂得谦虚的,别人的代码有的可能确实写的差一点,但也有很多写的好的,看别人的代码心态应该是正常的,如果确实有比你写得好的地方,应该虚心学习,你这样是再黑程序员的人品,黑别的就算了,令人讨厌
推荐阅读
- 招聘都要学历,何来程序员不看学历
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 怎样成为一名合格的Python程序员?
- 为啥5G和2.4G默认的BSSID是相同的
