做过一个程序,发现8成代码旨在保障程序的可靠性,只有2成代码是实现核心目标的

【本文来自《张仲麟:C919拿证不是终点,而是新的开始》评论区,标题为小编添加】

      我没造过飞机,我想这里绝大多数的评论者也没造过。不过,我曾经有机会完整地做一个连锁店进销存程序,对于完整地做一个新东西,有一点自己的体会。

    当时我开始着手做一个对我来说新的东西,目标是新的,工具是新的,这时引入外脑是很正常的事。必然会去大量地了解别人的程序是怎么运行的,目标是怎么实现的,有些难点甚至要请别人出手。经过这样一个过程,我会发现我的水平有很大的提高,我能完整地做一个东西了。

    等到我的程序能上线了,我请很多人来试用这个东西,我会发现,使用者对我的程序的理解是千奇百怪的,他们会用很多我想像不到的方式来使用我的程序。所以我必须新增大量的代码,去限制使用者的输入,去实现使用者输入出错时程序不会出错。

    再下一步,开始用大数据量长时间测试运行这个程序,有会发现,少量数据测试时正常运行的程序,在大数据量长时间测试运行时,会出现偶尔的错误,可能运行一万次会出一次错,但这一次错可能就会导致死机。这时又要想办法去修改程序,使之即使出错也能正常运行。

    最后会发现,80%的代码,其目标是保障程序的可靠性,而只有20%的代码是实现核心目标的。

    在这样一个过程中,我会从不会做,到会做,到知道为什么这样做,最后到为什么不应该那样做。这时我回头看之前做的这个程序,我会有一种想法,想把这个程序完全推翻,从头再写一遍,新的程序可能就会简洁、优美、可靠、快速、省资源。

    要说明的一点是,我不是职业的程序员。我的职业是连锁企业里负责电脑、信息、数据运行、数据分析、监控系统等一切与电脑有关的工作的,下班就帮老婆看烟酒店,写程序只是我的业余爱好。这有两点好处,一是我能从两个方面就是我能从开发者和使用者两个角度去考虑问题,二是在写程序方面我没有时间压力,我可以用很长的时间去反复打磨一个程序,不用急着交差。所以我也希望大家不要给他们压力,让他们慢慢打磨这个机型。建议先国内飞货运,飞个三年几十万个架次,再说转客运的话。走出去也要走湿租式,带着一整套班子出去,口碑做起来了再加快。

站务

全部专栏