个人管理 - 什么是好代码

简介:

公司今年的技术年会设置了一个最佳代码奖,主要是从提交的代码中评选出最好的,但到底好代码的评价有哪些维度呢?工作也多年了,代码也写过很多了,自己的代码也就一般吧,以前还真没有太多想“什么是好代码”这个问题。本篇把我知道的先罗列一些,也希望大家补充。代码好坏更多的是由写代码的人来控制,所以我也把它归为个人管理系列中。

  1. 代码规范,命名和排版遵守统一的规范
  2. 没有拼错的单词
  3. 在不同地方对类似意思的代码统一命名,如不会一个地方使用add,另一个地方使用insert
  4. 采用一致的简写规则,不会有的地方简写,有的地方又不简写
  5. 是否简单,不需要想什么就能明白代码含义
  6. 对性能有要求,写出来的代码是否满足性能要求
     
  7. 不需要镀金,是否客户需要的功能
  8. DRY: Don’t repeat yourself,没有重复代码
  9. 写短方法,这样易读、易重用、易测试
  10. 对类、方法和变量使用好的命名,最好直接从命名就能知道含义
  11. 单一职责,每个类只做自己的事
  12. 代码物理组织:目录、命名空间、包,把代码存储在一个容易找到的地方
  13. 代码逻辑组织:代码按逻辑访问,如层、服务
  14. 对复杂代码有对应的单元测试代码
  15. 好的代码可以通过不断重构而来
  16. 注释是有害的,尽量写可读代码。如果却是要写注释,需要在合适地方把注释写清楚
  17. 是否可以很好的适应改变


 本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/519469,如需转载请自行联系原作者

相关文章
|
域名解析 关系型数据库 MySQL
怎样用自己电脑搭建网络服务器!不花一分钱
怎样用自己电脑搭建网络服务器!不花一分钱
557 1
|
机器学习/深度学习 自然语言处理 搜索推荐
大模型技术在C端市场的三大应用场景
【1月更文挑战第15天】大模型技术在C端市场的三大应用场景
1016 2
大模型技术在C端市场的三大应用场景
|
前端开发 Unix 开发工具
windows使用cygwin编译Xyce
windows使用cygwin编译Xyce
292 0
|
应用服务中间件 nginx
Nginx常见报错整理【Nginx服务出现413 Request Entity Too Large的解决办法、HTTP请求:Failed to load resource: the server r】
Nginx常见报错整理【Nginx服务出现413 Request Entity Too Large的解决办法、HTTP请求:Failed to load resource: the server r】
Nginx常见报错整理【Nginx服务出现413 Request Entity Too Large的解决办法、HTTP请求:Failed to load resource: the server r】
|
安全 测试技术 程序员
白盒测试快速入门1-简介
JMeter性能测试工具快速入门教程-目录 https://www.jianshu.com/p/7b1a3346dc0f JMeter性能测试工具快速入门教程1简介 JMeter性能测试工具快速入门教程3线程组,采样器,监听器,配置 JMeter性能测试工具快速入门教程4测试计划和工作台 JM.
|
程序员
程序人生 - 程序员们,千万不要接私活!
程序人生 - 程序员们,千万不要接私活!
436 0
程序人生 - 程序员们,千万不要接私活!
|
设计模式 消息中间件 算法
常用设计模式汇总,告诉你如何学习设计模式
最开始学习设计模式,是读研期间,买了本最经典的《设计模式:可复用面向对象软件的基础》,风风火火搞起来,第一遍没看懂,又来一遍,23个设计模式,前后反复看了3遍,还做了笔记,后来。。。嗯嗯。。。好像全忘了
1280 0
常用设计模式汇总,告诉你如何学习设计模式
|
存储 运维 Cloud Native
把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?
阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。
把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?
|
Android开发
Android:解决TextView排版混乱问题
Android:解决TextView排版混乱问题
671 0