14个提高代码质量的好问题
阅读本文大概需要 2.6 分钟。
并不是代码写的越多,代码的质量就越高。思考才是。
解决一个问题,打开电脑就手撕代码,最终的结果往往是各种代码问题,经过一系列迭代后,代码积重难返,最终的结果就是推到重来,前期的付出都白费,最典型的就是现在所谓的敏捷,听起来高大上,实际落地其实就是加班,因为没有时间思考。
现在的很多公司已经不尊重科学和客观规律了,如果让他来管理孕妇,我觉得他们恨不得要把 10 个月的产期缩短成 2 个月。
程序员应该坚持自己的良质,不能因为产品经理或老板而改变一些非常好的做事方法,很多问题都是可以通过沟通解决的,面对复杂的需求工期又特别短,不妨听下陈皓老师(网名:左耳朵耗子)的方法:不要说不,而是给对方选择:
1、我可以加班加点完成,但是我不保证好的质量,有 bug 你得认,而且事后你要给我 1 个月的时间还债。
2、我可以加班加点,还能保证质量,但我没办法完成这么多需求,能不能减少一些?
3、我可以保质保量地完成所有的需求,但是,能不能多给我 2 周时间?
看到这里,我想你也一定会认为:除了编程,沟通也是一门艺术。
这两天学到了王争的专栏《设计模式之美》,其中提到的如何发现代码质量问题,可以从以下几个方面审视代码:
目录设置是否合理、模块划分是否清晰、代码结构是否满足“高内聚、松耦合”?
是否遵循经典的设计原则和设计思想(SOLID、DRY、KISS、YAGNI、LOD 等)?
设计模式是否应用得当?是否有过度设计?
代码是否容易扩展?如果要添加新功能,是否容易实现?
代码是否可以复用?是否可以复用已有的项目代码或类库?是否有重复造轮子?
代码是否容易测试?单元测试是否全面覆盖了各种正常和异常的情况?
代码是否易读?是否符合编码规范(比如命名和注释是否恰当、代码风格是否一致等)?
以上是一些通用的关注点,可以作为常规检查项,套用在任何代码的重构上。除此之外,我们还要关注代码实现是否满足业务本身特有的功能和非功能需求。还有一些比较有共性的问题,如下所示。
代码是否实现了预期的业务需求?
逻辑是否正确?是否处理了各种异常情况?
日志打印是否得当?是否方便 debug 排查问题?
接口是否易用?是否支持幂等、事务等?
代码是否存在并发问题?是否线程安全?
性能是否有优化空间,比如,SQL、算法是否可以优化?
是否有安全漏洞?比如输入输出校验是否全面?
当看到这些时,我只觉得醍醐灌顶,写代码并不难,难的是写出好代码,什么是好代码,质量高的代码?以上 14 条问题给我们指明了方向。
以上共 14 个方面值得打印出来贴在桌子上,作为我们日常写代码的一个提示,解决这些问题过程虽然耗时,假以时日,我们一定可以写出非常优秀的代码,成为优秀的工程师。
推荐阅读:
在Python中如何基于接口编程
14个提高代码质量的好问题相关推荐
- Python心得--如何提高代码质量
前些日子用python基于prometheus开发了一个vsphere volume卷监控的exporter,于是跟vsphere的api(pyvmomi)接口打上了交道,开发的过程中你会发现pyvm ...
- 范钢:一堂如何提高代码质量的培训课
今天这堂培训课讲什么呢?我既不讲Spring,也不讲Hibernate,更不讲Ext,我不讲任何一个具体的技术.我们抛开任何具体的技术,来谈谈如何提高代码质量.如何提高代码质量,相信不仅是在座所有人苦 ...
- idea,配置checkstyle 【提高代码质量,检查代码规范的工具 】Checkstyle,FindBugs,PMD,Jtest
idea,配置checkstyle [提高代码质量,检查代码规范的工具 ]Checkstyle,FindBugs,PMD,Jtest 2016年12月15日 14:19:02 common_util ...
- 良好的编码习惯 —— 5 个提高代码质量的技巧
原文地址:Good Coding Practices – Five Tips to Enhance Code Quality 原文作者:Jay 译文出自:掘金翻译计划 本文永久链接:github.co ...
- 提高代码质量:如何编写函数
原文地址:http://luopq.com/2016/02/21/write-good-function/ 函数是实现程序功能的最基本单位,每一个程序都是由一个个最基本的函数构成的.写好一个函数是提 ...
- 如何提高代码质量:代码复查
如何提高代码质量:代码复查 软件项目普遍存在的问题 1)新手 任何项目组成员都不可避免地出现新手,他们往往是刚刚从大学毕业的学生.这些新手由于软件开发时间太短,往往技术不成熟,没有形成良好的开发习惯, ...
- 一堂如何提高代码质量的培训课【转】
今天这堂培训课讲什么呢?我既不讲Spring,也不讲Hibernate,更不讲Ext,我不讲任何一个具体的技术.我们抛开任何具体的技术,来谈谈如何提高代码质量.如何提高代码质量,相信不仅是在座所有人苦 ...
- 提高代码质量 CheckStyle FindBugs PMD
提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述 ...
- Java基础学习总结(148)——如何提高代码质量
前言 人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的.有的人,写一个小逻辑,可能需要100行,而有的人,可能仅仅需要10行.代码永远会有Bug,在这方面没有最好只有更好.模块化与面向对象是实 ...
最新文章
- 各代程序设计语言拓扑
- Google 开源 AdaNet:快速灵活的轻量级 AutoML 框架
- java ee 7 新_Java EE 7:新功能???
- Centos7 安装netcat(NC瑞士军刀)
- UI基本设计素材模板|完整的线框图
- Spring源码解析 -- SpringWeb请求映射Map初始化
- SQL:where 和 having 的区别
- vasp软件全名是什么_vasp软件主要功能
- 模式识别与机器学习第四章特征选择和提取
- Canvas API - 江苏黑马 - 博客园
- 如何把桌面路径设置到D盘
- 电脑中的cache文件夹可以删除吗?
- Epicor流水编号规则功能
- VS安装包下载和环境配置
- BLE射频杂散源的由来,以及常见处理办法
- 银湖私募基金为何投资展讯?
- PPT画图软件,强烈推荐!提升能力的利器。
- XHR>>name不显示sug
- Bootstrap栅格系统 xs sm md lg xl
- 数字IC设计的第一步——Synopsys EDA Tools的安装