写代码的这四个境界你达到了吗?

开发 前端 移动开发
作为一个软件开发工程师,写代码必然是第一技能。写代码,不应该只是一份工作,而是在为社会创作一件流芳百世的艺术品。艺术创作,就一定会有境界,那么一个人写代码的境界,这儿总结一个简单的从低到高梯度。

[[234603]]

作为一个软件开发工程师,写代码必然是第一技能。写代码,不应该只是一份工作,而是在为社会创作一件流芳百世的艺术品。艺术创作,就一定会有境界,那么一个人写代码的境界,这儿总结一个简单的从低到高梯度。

“我的代码写完了”

接到任务,便开始和一个生产线上的工人一样,一行一行的写,没有计划,想到哪写到哪,什么代码风格,算法是不是最优,别人能不能看懂,都不管了。写完了,编译通过了,能运行了,告诉老板,“我的代码写完了”,就匆匆交差。质量怎么样,那是测试的事情。大不了,有了bugs,再来fix。看着快,反反复复,实际上是慢。这是最低层次的境界。

“我的代码写好了”

接到任务,首先计划一下,有几个模块,有几个功能,然后按照规定的代码风格,一个一个模块的完成,也会尝试选择好的优化算法,会加上注释以便自己和别人能够读懂和维护,写完后自己会多看几遍有没有什么问题。毕竟人很难一次把事情都搞对,检查是必不可少的一个环节。编译的时候,会注意每一个warnings,fix它们。也会自己想几个测试用例跑跑,感觉没有问题,就提交,告诉老板,“我的代码写好了”。这个境界高了不少。

“我的代码能用了”

接到任务,除了按上面的方式来写代码。还会在写代码的过程,加入各种白盒测试,也就是说,每写完一个函数,一个功能,会写一段单元测试,来验证自己的代码在各种正常和边缘情况,都能正确无误的运行。同时还会注意测试的代码覆盖率,也就是说,每一行代码都会有测试场景跑过。如果是使用了别的服务,会将别的服务mockup起来,让自己的系统能正确的运行。对于之上的模块,系统,有集成测试,有回归测试。虽然在写代码的过程中,加大了工作量,但是这样的代码,出错的概率明显减少,中间需要的来来回回修复的次数明显减少,实际上是减少了总的工作量,节约了项目的时间。这是一种负责任的态度,也是一个工程师本应具备的基本素质。这个境界就很高级了。

“我的代码还在用”

代码就像艺术品,好的艺术品,流芳百世,好的代码,也应该如此。那么,工程师对代码也应该像创作一个艺术品,深思熟虑,精雕细刻,期望它们能够在产品中永生下去。当你老了的时候,还能骄傲的告诉人们,“我的代码还在用”。这样就要求代码写的好,写的质量高,考虑全面,运行效率高,几乎没有bugs,而且容易读懂,容易维护,容易使用,千锤百炼。举个例子,如果实现一个功能,有不同的算法,会写代码实验不同算法在此场景下的性能,对比优缺点,选择一个合理高效的算法使用。这样的工作,除了后人发明了更好的算法,否则是不容易被替换掉的。写代码是一门艺术,写出来的代码就是一个艺术品。这样的境界,是每个程序员应该追求的最高目标。

只有心底里有“对自己的代码负责”的思维,才能达到最高的境界“我的代码还在用”。而“对自己的代码负责”应该是每一个工程师的基本素质。这样,写出的代码,才有可能成为一件艺术品,流芳百世。

“What is your legacy?”,代码,可能会是程序员给社会留下的一份资产。

责任编辑:未丽燕 来源: 程序师
相关推荐

2020-01-09 08:00:29

微信实用功能移动开发

2015-04-15 11:31:14

智能硬件智能家居

2012-09-13 09:47:01

程序员

2015-08-13 10:49:33

WLAN无线局域网

2017-05-16 11:09:56

2017-04-12 14:33:01

机器学习数据分析开发

2021-04-25 11:56:45

开源开源项目开源现状

2022-05-05 11:13:59

技术管理

2022-04-13 15:35:56

交互方案设计师用户

2018-04-10 15:10:18

路由器错误摆放

2021-10-13 06:03:12

网络带宽卡顿

2019-10-29 14:54:20

Kafka消息系统分布式

2019-10-23 08:39:58

程序员互联网技术

2015-07-23 10:25:27

android代码质量

2015-10-30 10:23:27

创业选择思考问题

2016-12-09 13:08:25

2022-01-27 15:48:05

区块链金融技术

2015-11-19 09:24:18

应用程序Docker容器化

2020-03-24 17:49:27

大数据IT技术

2018-10-25 15:04:22

编程程序员陷阱
点赞
收藏

51CTO技术栈公众号