程序员是如何看待“祖传代码”的?

网友解答: 大家好,我从事嵌入式软件开发十多年,欢迎关注和交流。祖传代码,这个说法很有历史感。姑且理解为多年以前的前辈们写的,还应用在产品开发中。在公司的团队开发中,或多或少,都会见到这

网友解答:

大家好,我从事嵌入式软件开发十多年,欢迎关注和交流。

祖传代码,这个说法很有历史感。姑且理解为多年以前的前辈们写的,还应用在产品开发中。在公司的团队开发中,或多或少,都会见到这些祖传代码。如果是产品平台没有更换,祖传代码就司空见惯了。我十年前写的代码,依然有在沿用,甚至还被多次迁移到不同的平台。这些代码有框架类,有模块功能类,还有基础函数类。

如果你是新加入团队,又或者是未曾参与当年的开发,那么当你遇到祖传代码时,期望你能好好阅读,理解代码的逻辑与意义,甚至是表现方法。作为前辈,这些代码是最好的教材,也是团队文化传承之一。

当然,祖传代码也有一些是乱糟糟的,或者太过于精怪难以理解的,这些问题,对于后来者来说,很难明白,很难维护。希望你有能力,有勇气,有时间去重构重写。我遇到这些低质且混乱的祖传代码时,通常删掉重来。

编写代码,不仅仅是完成功能了事,更重要的是注重可扩展性可维护性,这是程序员的基本素养。

谢谢大家。

网友解答:

我说一种造成祖传代码的原因吧总结起来就是时间紧任务重,外加各种不可控的因素现在这个公司,纯新项目,我做iOS,我来的时候Android已经开始俩月了,iOS就我一人。我老大给我的命令就是一个月以后和Android进度一样,我呵呵 后来商量到我可以先不管UI,就把逻辑部分追上,然后写好测试后来在做逻辑的时候,服务器端的API一天改三次,那还是少的然后所有的API都写在Google doc里,并且如果返回值变了也不更新,嘻嘻怎么发现的呢?明明unit test可以跑过,一用真数据就crash,用post man看返回值,数据结构跟我的测试数据完全不一样但是我要追上Android的进度啊,怎么办我提莫if你一脸,我提莫写一个100行的if,我提莫才不管之后的人怎么维护我的代码呢,我就不分层,我一个view controller给你写2000行我就问你怕不怕?我一个方法做一百件事你信不信?单元测试?不存在了。我就等着什么时候这个上线了就辞职。

标签: