从事软件开发的团队,面试应聘者的一个条件即编写的代码清晰整洁,为什么要有这样的规定呢?假如你是应聘者,也许觉得只要能实现功能,不用管是怎么写出来的。那你就错了,特别对于团队开发人员来说,每个人负责不同的部分,就像是组装汽车,假如你做的零件不符合规格,是很难拼出完整的汽车。 一、命名原则: 名副其实 避免误导 做有意义的区分 使用读得出来的名字 使用可搜索的名词 避免使用编码(匈牙利标记法、代码前缀) 避免思维映射 类名和对象名应该是名词或名词短语,避免动词 方法名应该是动词或动词短语 别拌可爱 每个概念对应一个词 别用双关语 根据使用解决方案领域名称命名 使用源自所设计问题领域的名称 添加有意义的语境 不要添加没用的语境 二、函数原则: 短小 一个函数只做一件事情 每个函数一个抽象层级 使用描述性名字 函数参数尽可能少,函数的输出应通过返回值,不要通过参数。不应有标识参数(bool) 无副作用 分隔指令与询问(比如设置,入果存在,则设置,返回true,不存在返回false。应分开为两个函数) 使用异常替代返回错误代码 抽离try/catch代码块 不要重复的代码 结构化编程只有在大函数时有效。(一个入口,一个出口) 三、注释: 注释应该尽量少或没有 用代码来注释 注释应用来解释意图和大范围的原理 注释可以用来做警示功能 TODO注释 注释用来放大看起来不重要的东西的重要性 不要把代码直接注释掉 不要在注释中添加过多的不相关细节 注释要和代码有明显的联系 四、格式: 五、对象和数据结构: 六、错误处理: 使用异常而非返回码 先写try-catch-finally 给出异常发生的环境说明 依调用者需要定义异常类 定义特例模式,用一个类对象来处理异常,就不需要抛出异常了 不要返回null 别传递null 后面还有很多,怎么觉得后面的不是那种零散的知识点,只可意会的那种。先不写上来,有空想明白了再整理下。