在实战中寻求完美

Posted 安柏霖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在实战中寻求完美相关的知识,希望对你有一定的参考价值。


(搬运知乎专栏上自己的文章)
hmmm,最近实现的一个比较复杂的feature,各种技术混合使用搞得虎虎生风,下午dx12的debug layer的gpu validation开始报错。

于是就按部就班的查起来,经过几个小时的逐步跟踪,让我颇为诧异的出在一个看似非常稳健的cache模块里。

这个模块满足了这样几个条件:

知识点:背后dx12相关的文档,甚至多个引擎的代码实现版本都读的比较详细,理解也还可以
代码实现:代码被重构了5遍以上,代码算是比较清晰,注释,log和assert
QA&玩家验证:已经在两个项目上线,至少几百万的玩家哪里跑过了
然后在新的状况下,添加了新的复杂用法,开启debug layer检查的时候,才能看到逻辑上的疏漏;

so,这块代码算是往完美上趋近了一点点,高兴之余谈谈看法

大规模复杂系统超出人脑所能及

写程序,做项目等等都属于这种“大规模复杂系统”范畴;

这种系统的复杂度和规模下,虽然缜密的设计依旧是起到核心和关键的作用,但是我们必须要意识到,人脑是不能完全覆盖的,不管是带有完美倾向的,肯下功夫的,还是怎么样;

这些努力都可以让整个系统的完善度有所上升,但是依旧是没法完全覆盖;

如果能尽早的,尽量大规模的进行测试,则是完善系统一个非常必要&给力的方式;

同理,也是经验非常宝贵的点,很多事情也是规模和复杂度大到人脑所不能及,那么就需要去看和经历,然后记住结果,建立这么个[事情,结果]的map;

实战中寻求完美

这半年不少同事交流中也提到这点,就是项目在开发中,会出现各种需求,问题接踵而至,导致大家开发中出现混乱,难以处在安安心心写代码的心境;

但是如果我来选择,依旧是会觉得在一个充满实战的环境中开发更好,这样才能更好的检验开发的功力,完善自己的系统;

正如今天遇到的问题,个人所能做的已经到了极限,但是要进一步推进,就不能在实验室&温室里自己捣鼓了,就要接受各种冲击,才能让逻辑的漏洞暴露出来;

实验室里或许能写出优雅的代码,但战场上则更能诞生完美的程序;

保持谦逊&拥抱挑战了;

以上是关于在实战中寻求完美的主要内容,如果未能解决你的问题,请参考以下文章

《源码中的设计模式》专栏简介——理论和实战的完美结合

Android6.0M权限管理实战,完美轻量级封装

Android6.0M权限管理实战,完美轻量级封装

MATLAB应用实战系列(五十一)-TXT数据的读取完美教程

Python贪婪算法之Python算法题实战 -《完美的代价》

挑战埃及 | 项目管理实战沙盘完美收官!