在实战中寻求完美
Posted 安柏霖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在实战中寻求完美相关的知识,希望对你有一定的参考价值。
(搬运知乎专栏上自己的文章)
hmmm,最近实现的一个比较复杂的feature,各种技术混合使用搞得虎虎生风,下午dx12的debug layer的gpu validation开始报错。
于是就按部就班的查起来,经过几个小时的逐步跟踪,让我颇为诧异的出在一个看似非常稳健的cache模块里。
这个模块满足了这样几个条件:
知识点:背后dx12相关的文档,甚至多个引擎的代码实现版本都读的比较详细,理解也还可以
代码实现:代码被重构了5遍以上,代码算是比较清晰,注释,log和assert
QA&玩家验证:已经在两个项目上线,至少几百万的玩家哪里跑过了
然后在新的状况下,添加了新的复杂用法,开启debug layer检查的时候,才能看到逻辑上的疏漏;
so,这块代码算是往完美上趋近了一点点,高兴之余谈谈看法
大规模复杂系统超出人脑所能及
写程序,做项目等等都属于这种“大规模复杂系统”范畴;
这种系统的复杂度和规模下,虽然缜密的设计依旧是起到核心和关键的作用,但是我们必须要意识到,人脑是不能完全覆盖的,不管是带有完美倾向的,肯下功夫的,还是怎么样;
这些努力都可以让整个系统的完善度有所上升,但是依旧是没法完全覆盖;
如果能尽早的,尽量大规模的进行测试,则是完善系统一个非常必要&给力的方式;
同理,也是经验非常宝贵的点,很多事情也是规模和复杂度大到人脑所不能及,那么就需要去看和经历,然后记住结果,建立这么个[事情,结果]的map;
实战中寻求完美
这半年不少同事交流中也提到这点,就是项目在开发中,会出现各种需求,问题接踵而至,导致大家开发中出现混乱,难以处在安安心心写代码的心境;
但是如果我来选择,依旧是会觉得在一个充满实战的环境中开发更好,这样才能更好的检验开发的功力,完善自己的系统;
正如今天遇到的问题,个人所能做的已经到了极限,但是要进一步推进,就不能在实验室&温室里自己捣鼓了,就要接受各种冲击,才能让逻辑的漏洞暴露出来;
实验室里或许能写出优雅的代码,但战场上则更能诞生完美的程序;
保持谦逊&拥抱挑战了;
以上是关于在实战中寻求完美的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB应用实战系列(五十一)-TXT数据的读取完美教程