鉴于该网站吸引了比平均水平更好的程序员,因此负面反应并不令人惊讶。有才华的人通常不需要求助于这种通过混淆来实现安全的策略。但是,我在一家财富500强汽车供应商中工作,与一些不那么有才华的开发人员一起,为他们自己雕琢了一些小小堡垒,他们通过为他们设计的可怕界面创建大量文档来积极地保护他们。
一个人的全部工作是维护一个模块的代码,该模块桥接了两个完全独立的子系统,从而允许每个系统上的模块通过UART进行通信。基本上,它是“串行编程101”。不仅仅是创建一个看起来像这样的通用接口:
int sendData(int targetModule,void * data,size_t byteCount);
int recvData(int sourceModule,void * data,size_t maxBytes);
他为任何两个通信模块可能希望发送给彼此的每条消息创建了单独的操作码。这意味着他的模块需要了解每条消息,并且每当添加或更改消息时就需要更新。谈论不适当的亲密关系!
关键是,这个人保留了一个Word文档,整齐地列出了所有操作码/消息,并根据需要进行了认真的更新。这成了他的全部工作。每周几次,他会向所有不幸的人发出新版本,以至于让他走上关键的道路。由于管理层喜欢查看文档,因此这被视为“专业” 。Kinda让我为汽车行业而哭泣。
我想我的意思是:有时编写文档实际上可以保护普通的程序员。经理们常常无法分辨出好的设计与坏的设计之间的区别,许多经理被迫在有限的信息下做出技术决策。对他们来说压力很大。看到包含数十个格式整齐的表格的Word文档可能会非常令人欣慰-即使它描述的内容从根本上来说也是个坏主意。