对程序员来说最重要的小事——整洁代码

简介: 对程序员来说最重要的小事——整洁代码

为什么要写整洁代码

现在阅读这篇博客的你不论是刚入行的新人还是开发了很多年的老鸟一定碰到过"祖传代码"(也有人称之为屎山,话糙理不糙),并为之头疼。对代码的每次修改都影响其他两三处的代码,每次添加或修改代码,都得对那一堆乱麻了然于心,否则随着这团乱麻越来越大,再也无法清理,最后束手无策。宁愿自己重新写这个功能,也不愿碰它。被祖传代码拖了后腿,开发者又背负 deadline压力,只好继续堆叠混乱。而事实上,制造混乱无助于赶上期限。随着混乱的増加,团队生产力持续下降,以至趋向于零。保持、提高效率的唯一办法,就是始终尽可能的保持代码整洁。


命名

名副其实

选个好名字需要花时间,但省下来的时间比花掉的多

1.如果名称需要注释来补充,那就不算是名副其实

做有意义的区分

如果名称相异,意义也应该不同

例:add和insert

两个均为添加的意思,我们在使用的时候就需要尽量保持使用一致,不能这出使用add下个方法就用insert来表示添加。

2.废话都是冗余

例:Variable一词永远不应该出现在变量名中,Table一词永远不应该出现在表名中

类名、方法名

1.类名和对象名应该是名词或名词短语

例:Customer、WikiPage

2.方法名应当是动词或动词短语

例:postRequest、deletePage

函数

短小

  1. 函数的第一规则是要短小,第二规则是还要更短小
  2. 每行不超过150个字符,函数总长度20行封顶最佳
  3. 应该到达的程度:每个函数都一目了然,每个函数都只说一件事,每个函数都依次把你带到下一个函数。

只做一件事

函数应该做一件事,做好这件事,只做一件事


注释

注释类型

1.行注释

如下图,每行代码都用注释描述清楚做了什么

d84f5208246a2d7606c1343893ff81a1.png

2.块注释

如下图,一个方法上面或某个逻辑操作上添加注释描述

62ef79c1710baec07d2d5402fbd76768.png

好注释

  1. 法律信息
  2. 提供信息的注释
  3. 对意图的解释
  4. 阐释
  5. 解释
  6. TODO注释

坏注释

  1. 喃喃自语、多余的注释、废话注释
  2. 误导性注释
  3. 日志式注释
  4. 注释掉的代码

格式

目的

代码格式关乎沟通,今天编写的功能很有可能在下一版本中被修改,但代码风格和可读性会影响到可维护性和可扩展性。


垂直格式

  1. 在导入声明、每个函数之间都用空白行隔开
  2. 变量声明,变量声明应尽可能靠近其使用位置
  3. 实体声明,实体应该在类的顶部声明
  4. 相关函数,某个函数调用了另外一个,就应该把他们放到一起,而且调用者尽可能放在被调用者上面。

横向格式

使用空格把关系紧密的事物联系到一起,把相关性较弱的分隔开(格式化代码,idea快捷键:ctrl+alt+L)


团队规则

每个程序员都有自己喜欢的格式规则,但如果在一个团队中工作,就是团队说了算。一组开发者应当认同一种格式风格,每个程序员都应该采用那种风格。


总结

336d4f7e9bbad06df128ef54dad8332b.png

今天的分享内容大部分都来自与《代码整洁之道》这本书,如果想了解更多的整洁代码的方法和技巧,可以深入研究一下这本书,你将会受益匪浅。


以上就是今天分享的内容了,如果觉得有收获可以关注点赞一波。


目录
相关文章
|
4月前
|
监控 安全 程序员
程序员是如何看待“祖传代码”的?
程序员是如何看待“祖传代码”的?
34 0
|
6月前
|
算法 程序员
编程遗产:祖传代码
编程遗产:祖传代码
|
6月前
|
算法 程序员
10年老程序员告诉大家什么时候该写什么样的代码
10年老程序员告诉大家什么时候该写什么样的代码
46 0
|
人工智能 程序员 vr&ar
竟有程序员40了还在撸代码?
竟有程序员40了还在撸代码?
148 2
|
SQL 人工智能 Java
程序员:你见过哪些要命的奇葩代码?
程序员:你见过哪些要命的奇葩代码?
112 0
|
Web App开发 前端开发 算法
程序员的自我修养:如何写出高质量的代码
程序员的自我修养:如何写出高质量的代码
192 0
|
程序员
笑出腹肌!有些程序员真会玩代码注释
笑出腹肌!有些程序员真会玩代码注释
91 0
笑出腹肌!有些程序员真会玩代码注释
|
SQL 设计模式 程序员
程序员的坏习惯
每位开发人员在自己的职业生涯、学习经历中,都会出一些坏习惯,本文将列举开发人员常犯的坏习惯。希望大家能够意识和改变这些坏习惯。
130 0
程序员的坏习惯
|
JSON Java 测试技术
如何写出让人抓狂的代码?
如何写出让人抓狂的代码?
如何写出让人抓狂的代码?
团队里的妹子让阿粉跟她说说怎样写出好的代码
昨天,团队里的妹子很突然地就让阿粉跟她说说怎么才能写出一手好的代码 阿粉本着负责任的态度,专门写了一篇文章出来,妹子嘛,就是要宠的嘛

相关实验场景

更多