大家好,今天我看到网上有人在讨论这么一个话题,就是说现在有些程序员为了自保,进行防御性编程,啥叫防御性编程呢?就是他想办法让他写的程序别人看不懂,比如程序不加注释,简单的逻辑故意写的很复杂,变量名命名使用一些无意义的单词等,这就使其他人要接手他的程序就维护不了,改不了。那为什么说为了自保呢,那是因为现在有公司出现裁员的情况,所以程序员为了避免自已被裁员后,自已的程序很容易被人接手,就想到防御性编程这种做法。
但是大家感觉这种做法靠谱吗?我不管大家怎么想,我感觉这种做法那是非常的不靠谱!
首先
稍微正规一点儿的公司都会对产品的软件源代码进行管理,比如一个小组有组长和两个组员,这两个组员写的代码都会经过组长的审核,再上传到svn这种软件版本控制系统,即使组长不会对组员提交的软件进行详细的审核,但是他是有权限查看组员的完整代码的,他发现自已组员写的代码都是这种防御性代码,难道他不管吗?但是这里可能有大聪明会问了,那要是组长写防御性代码怎么办?不是没人审核了吗?但是组长就没有领导吗?所以除非公司的软件管理非常混乱,否则在一个技术管理正常的公司,不管你是组长还是组员,想长期写防御性代码,还不被发现,基本没有可能。
第二
软件在维护过程中会经常增加一些功能,或修改一些BUG,如果你写的是防御性代码,自已增加功能或者改BUG是不是也很头大呢
第三
写防御性代码有违职业道德,因为如果公司按合同正常给你发工资,其它待遇也都按合同正常给了,你做为程序员,只是感觉未来公司有可能裁员,就写这样的代码,不是会给公司带来损失吗?因为裁员这事儿还没真实发生那,只是你预想的,比如将来公司真裁员了,它把你同组的另外两个程序员裁了,唯独没裁你,但是被裁的两个都写的是正常的代码,却唯独你在写防御性代码,真是这样的话,你的内心不会感觉不安吗?
总之我感觉程序员因为担心未来自已有可能被裁员,就写防御性代码,这个真的不靠谱,且不说违不违法,但是违反职业道德是肯定的,大家说呢?