|
这是我昨天在回家路上的思考,观察新入职的员工,对比已经逐步成熟的员工,再考察自己的经历,结合论坛上的众生相,突然就有了这样的三种境界的认识。当然我自己觉得前两种境界应该比较精准,但是最后一种境界的总结还有欠提炼,不过在现在,已经觉得是非常贴近我的所想了。
其实还有一种境界,就是根本就没有入门,这样的人很多,别看天天编程,但是什么都没有往心里去,从来就不去进行总结和反思,这样的人是在境界之外的,所以就没有专门列入。
巧妙——这是入门后的第一阶段,这个阶段关注HDL语言的写法,努力追求准确、高效,研究新奇的用法,研究精妙的编程技巧,试图把100行的代码缩减到10行,如此种种。用我的两个字来概括就是“巧妙”。这个阶段,看到的是局部,追求的是局部代码的最优化。当然产生这样的结果,和刚入门的时候,只能接触到局部有很大的关系。
稳定——这是第二阶段,每个人从巧妙到稳定的转移时间都不一样,有些人长期浸淫在巧妙阶段,成了代码的高手,但是有些人很快接触到复杂的系统,逐渐发觉了系统稳定的重要性。这个阶段,代码的巧妙逐渐被忽略,多时钟域之间的稳定跨越,多功能块之间的平滑合作等等,逐渐成了关注的重点。到达这个阶段,其实也是拜环境所赐,因为随着职位从junior到senior,视野更开阔,担当更广泛,自然境界也随之上升。
生命体——这是第三阶段,也是我现在所处的视野可以看到的最高境界,当然像很多历史评价一样,“由于作者所处年代的历史限制,作者的视野没能广阔到洞穿宇宙的程度”,大家就将就着看一下好了。这个阶段在项目的横向功能覆盖度和纵向流程覆盖度上都已经有了一定的经验,看问题会比较全面。会考虑更多更长远的问题。这个时候的项目看起来更像在制造一个生命体。几个很大的特征。
一是生命体自身的功能完备性,好比人体,各种功能都非常健全,听说读写走跑跳,代码的功能也必然经过严格的验证。不同之处在于,人体的完备性是历史进化的产物,经过了上亿年的自我验证和提升,而我们工程师借助的是先进的验证工具,在规定时间内进行严格的检查。
再一个是自我的免疫性,好比人体的免疫能力,细菌和病毒不可避免,但是有免疫系统在,机体会主动消灭或者隔离这些东西,看不到任何不正常。代码也是如此,事先要考虑到一些意想不到问题,并提供一种免疫的能力。我们的做法可以像人体一样,不管什么异常,我都用白细胞来对付你(我不懂医学,错误之处敬请指正),那么不管什么异常我也有一套机制来恢复现场。这就是自我的稳定性。
再一个是功能以外的综合特性,比如可测试、低功耗各个非功能性的,但是又异常重要的环节。这个特点在生命体上如何作比,还没有一个精确的方法。有点牵强。
|
|