专业的信息化与通信融合产品选型平台及垂直门户
注册 登陆 设为首页 加入收藏
首页 企业新闻 招标信息 行业应用 厂商专区 活动 商城 中标信息

资讯
中心

新闻中心 人物观点
厂商专区 市场分析
行业
应用
政府机构 能源产业 金融机构
教育科研 医疗卫生 交通运输
应用
分类
统一协作 呼叫客服 IP语音 视频会议 智能管理 数据库
数字监控 信息安全 IP储存 移动应用 云计算 物联网

TOP

写代码的这四个境界你达到了吗?
2018-07-03 10:51:27 来源:程序师 作者:【
关键词:代码
 
作为一个软件开发工程师,写代码必然是第一技能。写代码,不应该只是一份工作,而是在为社会创作一件流芳百世的艺术品。艺术创作,就一定会有境界,那么一个人写代码的境界,这儿总结一个简单的从低到高梯度。

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

  “我的代码写完了”
 
  接到任务,便开始和一个生产线上的工人一样,一行一行的写,没有计划,想到哪写到哪,什么代码风格,算法是不是最优,别人能不能看懂,都不管了。写完了,编译通过了,能运行了,告诉老板,“我的代码写完了”,就匆匆交差。质量怎么样,那是测试的事情。大不了,有了bugs,再来fix。看着快,反反复复,实际上是慢。这是最低层次的境界。
 
  “我的代码写好了”
 
  接到任务,首先计划一下,有几个模块,有几个功能,然后按照规定的代码风格,一个一个模块的完成,也会尝试选择好的优化算法,会加上注释以便自己和别人能够读懂和维护,写完后自己会多看几遍有没有什么问题。毕竟人很难一次把事情都搞对,检查是必不可少的一个环节。编译的时候,会注意每一个warnings,fix它们。也会自己想几个测试用例跑跑,感觉没有问题,就提交,告诉老板,“我的代码写好了”。这个境界高了不少。
 
  “我的代码能用了”
 
  接到任务,除了按上面的方式来写代码。还会在写代码的过程,加入各种白盒测试,也就是说,每写完一个函数,一个功能,会写一段单元测试,来验证自己的代码在各种正常和边缘情况,都能正确无误的运行。同时还会注意测试的代码覆盖率,也就是说,每一行代码都会有测试场景跑过。如果是使用了别的服务,会将别的服务mockup起来,让自己的系统能正确的运行。对于之上的模块,系统,有集成测试,有回归测试。虽然在写代码的过程中,加大了工作量,但是这样的代码,出错的概率明显减少,中间需要的来来回回修复的次数明显减少,实际上是减少了总的工作量,节约了项目的时间。这是一种负责任的态度,也是一个工程师本应具备的基本素质。这个境界就很高级了。
 
  “我的代码还在用”
 
  代码就像艺术品,好的艺术品,流芳百世,好的代码,也应该如此。那么,工程师对代码也应该像创作一个艺术品,深思熟虑,精雕细刻,期望它们能够在产品中永生下去。当你老了的时候,还能骄傲的告诉人们,“我的代码还在用”。这样就要求代码写的好,写的质量高,考虑全面,运行效率高,几乎没有bugs,而且容易读懂,容易维护,容易使用,千锤百炼。举个例子,如果实现一个功能,有不同的算法,会写代码实验不同算法在此场景下的性能,对比优缺点,选择一个合理高效的算法使用。这样的工作,除了后人发明了更好的算法,否则是不容易被替换掉的。写代码是一门艺术,写出来的代码就是一个艺术品。这样的境界,是每个程序员应该追求的最高目标。
 
  只有心底里有“对自己的代码负责”的思维,才能达到最高的境界“我的代码还在用”。而“对自己的代码负责”应该是每一个工程师的基本素质。这样,写出的代码,才有可能成为一件艺术品,流芳百世。
 
  “What is your legacy?”,代码,可能会是程序员给社会留下的一份资产。

      

责任编辑:admin
免责声明:以上内容转载互联网平台或企业单位自行提供,对内容的真实性、准确性和合法性不负责,Voipchina网对此不承担任何法律责任。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部

上一篇中国移动投资UCloud 双方将开展5G..
下一篇从技术管理的困惑,看IT人中年危..

热门文章

图片主题

最新文章

相关文章

广告位

Copyright@2003-2009 网络通信中国(原VoIP中国) 版权所有
联系方式:503927495@qq.com
  京ICP备05067673号-1 京公网安1101111101259

《合作通告》

本站因快速发展需要,有共赢合作、战略创投意向的个人或机构,请联系咨询:
(电话)010-69397252、13911442656(v)
(邮箱)503927495@qq.com
我知道了