我最近发现自己的立场是解释一个(内部)申请,我已经写信给两个候选人,我的公司喜欢雇用,以协助维护和添加次要功能。
这是我写的第一个“制作”应用程序,它有45k个LOCs,我在上面花了将近两年的“独奏”开发。我现在还很年轻(18岁),我从零开始写了这个应用程序,同时还为一位离开公司的前开发人员签订了合同。在设计这种规模的应用程序方面缺乏经验,我尝试使用常见的体系结构和设计模式。
今天,我知道我已经做了一些严重的过度工程,例如使用断开连接的变更跟踪架构,而不是工作单元模式,而所选择的ORM已经实现了。我可能永远不会去“真正的”三层。
这两位候选人都有10位years+背景的内部应用程序开发与相关平台.他们一半大,经验少,我尊重他们的意见。当我向他们解释应用程序体系结构时,评论大致如下:
现在我问自己:
我是建筑航天员吗?我怎么知道我对建筑做得太过火了?过度工程的常见症状是什么?
发布于 2009-12-21 18:57:04
过度工程的常见症状是什么?
解决你没有的问题的代码。
发布于 2009-12-21 23:36:52
过度工程的一个非常强烈的警告信号是,当一切都经历了如此多的间接过程时,很难找到真正实现某些具体的、域级功能的代码。如果您发现您的大部分函数只做很少的具体工作而只调用其他虚拟函数,您可能会遇到问题。
发布于 2009-12-21 20:25:55
无聊
无聊是过度设计代码的好前兆。我承认,当我找到第一份工作的时候,我觉得自己被利用得太少了。我只是很无聊。当我无聊的时候,我写了代码。不仅仅是任何代码--代码的大教堂。
不,说真的,我脑海里有一幅我的代码和抽象的画面,比如有金色凸起的尖顶的大塔,玻璃红玛瑙的飞扬的支撑,一个由拱形穹顶支撑的奇妙的拱顶,上面有漂亮的几何花边等等。
看到这些模式为我自己工作真的很吸引人,但回想起来,我对我留下的不敬的混乱感到非常羞愧。
如果您正在编写自己的框架和DSL代码来打发工作中不那么刺激的时间,请停止。最好把时间花在阅读Wards Wiki或写一本开源书上,或者你可能只想要求管理层做更多的工作。
https://stackoverflow.com/questions/1941770
复制相似问题