关于编程的一点感慨·代码缺乏生命

关于编程的一点感慨

写的代码缺乏生命力

  1. 过段时间自己看,都有些陌生。
  2. 缺乏:设计思路图文,文档类注释,测试样例代码。

工作中,有时要维护修改业务功能时,总想重写掉得了,反而好维护。
大抵也是代码缺乏生命的缘故,这些代码不能离开维护他的人
业务型的代码诞生之初一般不太考虑离开维护他的人。

设计图文

当代码量多时,一般都会在心中或者在纸上,有个大概的结构设计思路。
现在也仅仅有时写下些设计思路相关的注释,没有图文。

实际也在本子上画了些,但是没有保存到文档里。

注释

很少写注释,觉得麻烦。只在个人觉得要说明的地方写些自定义的注释。

有注意把函数名和参数名取的有意义。发现这时不够的,有些信息无法描述:

  1. 异常相关的信息
  2. 调用的约束
    1. 参数和返回值的范围
    2. 函数调用的外部条件
    3. 函数的一些特殊行为

google的代码注释详尽,格式规整,可用某某工具生成文档。注释的数量要和代码量差不多了。

两个工作里,都没有强调注释的规范。
想是业务性的代码更在乎快速出结果,业务代码都是谁写谁维护。

注释小结

  1. 业务代码:写点简单注释就够了。一般逻辑不复杂,都是在某个框架下,复制模式。
  2. 库代码:这种是把代码当成产品发出去的,需要详尽的文档。

测试代码

毕业进百度时还写过一段时间php的单元测试代码。
好麻烦,为了测试数据库部分,还要用个mock框架。测试代码比业务代码还多,感觉没什么收益。
当时就我这个刚入职的写了一段时间。

看luna的源码时,发现有专门写一套测试代码,而后在自己写脚本语言时也写了个。主要是对功能块的黑盒测试样例。
当修改代码时,运行测试可确保定义的行为没有改变。

google开源的代码普遍带有测试代码。

测试小结

  1. 业务代码:就不用写测试了,特别是单元测试,耗时费力收益小。
  2. 库代码:最好写一批模块黑盒测试代码,确保定义的行为一直正确。

后续看看要不要给子集写的几个基础库形式的代码加上测试代码。

异常处理

一般不处理异常的,把异常当Assert,直接抛出它让程序挂掉,处理的目的就是没有异常。

有些时候异常是要处理的,如给人用的编辑器。
写编辑器工具时,码那么多简单的测试输入的代码真是手酸。
业务性的代码差不多都是这样吧,各种检验输入。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,315评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 持续做一件事情能带来什么样的威力? 持续锻炼身体,身体越来越健康,再胖的身体也能减肥成功! 持续写作,小白功底的作...
    骏马背上的小雨燕阅读 432评论 0 1
  • 肯德基请了鹿晗做代言,麦当劳请了吴亦凡代言。是麦当劳想搞事情,制造话题吗?如果答案是肯定的,也很正常,营销就是需要...
    whoogaoqiao阅读 376评论 0 0
  • 《小酒馆》 一两名掌勺, 三四间屋社, 五六张木桌, 七八碟土菜, 围坐九或十人。 待七八盏过后, 剩五六盘残羹,...
    时光清浅阿莲阅读 365评论 7 7