首页 > 互联资讯 > 建站教程  > 

为什么程序员的代码不能终身责任制?

忒修斯之船 1世纪时的希腊作家普鲁塔克提出了这个问题:如果忒修斯的船上的木头逐渐被替换,直到所有的木头都不是原来的木头,那这艘船还是原来的那艘船吗?

一个建筑物在完工之后,往往只需日常的维护。而程序则不断有功能迭代,甚至还有重构这类改头换面的操作。经过了重构的程序还是之前的程序吗?程序员需要对这个忒修斯程序负责吗? 多大的改动算重构? 《重构,改善既有代码设计》一书中,模块、函数、甚至代码段都可以重构。

承重代码

成都一超高层小区承重墙被业主擅自拆除,房屋安全等级降低,业主将承担哪些责任,受损房屋该如何补救?

类似上面的承重墙被破坏导致房屋出现问题,建筑工程师师不会担责。推广到程序,承重代码被破坏了,程序员是不是也不应该担责?

问题在于承重墙是很清晰明确的,但承重代码吗?

如果程序员写的某个核心模块被人修改过其中一个函数,从而导致了事故,那么是不是可以认为承重代码被破坏了,写该模块的程序员不需要担责?

攻击

建筑物受到的攻击多数是自然灾害,没有主体意识。而程序服务受到的攻击基本上都是人为的。这使得在追究攻击责任,有较大的差别:前者无法追究自然灾害的责任,但后者却可以追究攻击者的责任,也就是将防护的责任转移了。

逍遥法外?

当然不能做到完全无责。

互联网公司的事故通报中还是会追究相关人员责任的,一般是追究引起问题那行/段代码的作者。如果该作者离职或者转岗了,一般就无需担责了,不然可能出现CEO因为多年前写的bug,而上了事故通报名单。

为什么程序员的代码不能终身责任制?由讯客互联建站教程栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“为什么程序员的代码不能终身责任制?