高效编码?看看一位码农的谋篇布局!
发布在移动开发2015年11月24日view:2665
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

来自:369Cloud

“开发者效率”,或多或少都和开发者主观能动性有关,很多专家的书籍都系统地探讨了这个问题。通常认为,单纯依靠量化方法来评估开发者的效率不靠谱。以笔者作为一名普通码农的心得而言,觉得效率很大程度受限于自身习惯。在初步具有“谋篇布局”能力之后,效率有了一个明显的提升。

谋篇布局,方能理顺局部和整体的关系。一方面,有助于理解局部怎样作用于整体,以至于达成在设计的后期阶段,用线性叠加的方式解决多元化的复杂问题。另一方面与之相对,掌握了整体对局部的要求,形成了一系列指南性质的东西,实现了一套基本完整覆盖编码全过程的工具链,并且能够从工具链上获得效率的提升。最终能够以更加集中的注意力处理局部的细节,使可能间断的工作可以确保有效的积累。

纵向剖析,做到结构上胸有成竹

理清“接口——测试——伪代码——GTD编程”这样(或与之相近的)一条工作路线。

无论怎么强调“面向接口编程”都不为过。其实这也就是老生常谈的“模块化编程”,接口的提法偏向于测试。只要测试确定了,就可以针对测试写好每一小块能够工作的代码,做到有的放矢。

伪代码有点接近“提纲”意思。用伪代码进行编程有一个潜在的好处,那就是保持了一个相对流水化的开发方法,让开发者能够专心于当前的细节设计,而不是被自己重复、回退的迭代绊倒。值得注意的是伪代码编程并不是唯一的过程,可选的还有测试先行开发和契约式设计。一个协作的团队会选择适用于自己的约定。

对身处团队的开发者来说,当更多的GTD理念融入编程过程以后,标志着自己从“闭门造车”阶段进入了“与人为善”的时代。从“出口成码”进化成了一个自然人,一个能够协同的人。当开发者选择和昨天的自己协同的时候,效率的提高是可以预期的。

横向扩展,细心打好基本功底

源代码是开发者最直接的学习材料。笔者从源代码学到了这些:从不会到会的跃变、快速存取备忘以及怎样不断优化一个算法。

仔细思考源代码管理还可以发现,可以将代码片段按照功能分类,以”立时可复用”为目标进行整理归纳,形成覆盖基本操作的代码段集合。这个集合可以放到云/移动设备等触手可及的地方。把这个习惯坚持下去的成效是比较可观的。

程序员区别于其他职业的最大实践特点是什么?假如你的答案也是“代码”的话,那么无疑已经为持有并优化代码片段找到了最佳的理由。

保持意志,把握好每一次迭代的机会

珍惜每一次手工debug的机会,正确对待按下debug按钮的次数。虽然这个数字没有任何意义,但是过于频繁地debug可能正反映一些潜在的问题。比如说自动化构建的必要性、形成代码的实际效率等等。

客观地说,debug不会帮开发者生成代码。调试隐藏的热点在于,开发者是胡乱拼凑地写代码,还是有设计有计划的写代码。是为了检查基本语法进行调试,还是更有针对性地进行调试。

有张有弛,放松时深刻体会世界

休息是生命必不可少的组成部分。尤其对于开发者这种久坐的职业来说,没有什么比舒适的休息更有营养了。然而休息并不是直板地睡觉或者抠手机,能够同时愉悦身心的休息方式值得探索和尝试。正确的休息可以让人保持激情。

远离燃烧生命的争论,踏实地做好自己份内的事情。

文末小结

效率是非常值得追求的。提高“谋篇布局”的全体掌控能力可以在一定程度上保证效率。更富有成效的实践,还很可能在自己的眼界之外。

世界这么大,值得去看看。

评论
发表评论
暂无评论
WRITTEN BY
PUBLISHED IN

友情链接 大搜车前端团队博客
我的收藏