刚看了个自制框架的帖子,其实之前这类帖子见得比较多,吵得也都挺厉害。好像总有人一边对提议“不要发明轮子”的同学挺反感,一边以发明家自居,把话扯到中国的软件业上去。之前还看到有人见到“只用SSH的公司“坚决不去。我想说说我的看法。
我觉得框架这东西,[b]首先要明白为什么要用它[/b]——这是废话,但又是最重要的。真的有些人是不知道为什么用框架,乱用一通,产品代码乱七八糟。
然后是学习如何用好它,掌握框架后接着可能会发现它的不足,然后要是能够的话,再试试用用其它的框架,选一个最合适的。如果实在找不着你需要的框架了,这个时候如果公司允许,你再去改进某个框架,或者研读它的源代码参考着做个更好的。
否则,我觉得你的“发明”永远只是在你的作坊公司里用用、制造混乱而已。
要说发明国产框架,其实国产框架已经数不清了,而不是屈指可数了。要不要试做个调查,自己发明框架的公司有多少,因此造成产品难以维护的公司又有多少?
[b]说“不要重复造轮子”并不是在打击人,只是在提一个建议。[/b]
我是山寨框架的受害者。[b]山寨框架罪状第一条:提高新手学习成本。[/b]人家学好了流行的框架进公司本来可以弄清业务逻辑后直接上手,你非得弄个自制框架,让新人多花时间出来学习框架,浪费公司资源不说,一不小心你的框架理念还能误导新人,害人又害己。人家离开这家公司后,在这积累的经验在别处也许还用不上。
[b]山寨框架罪状第二条:降低产品质量。[/b]公司里做开发,应该以实现业务为主,技术为辅,如果自制框架,你不得不花额外的时间在框架的维护上(bug往往很多,性能好坏说不定)。使用开源框架,你大部分时间只需要关注业务逻辑(相对自制框架来说);如果自制框架,你不得不花大量精力在业务逻辑以外的技术实现上。人的精力是有限的,同时关注2种事情往往会2种事情都做不好,所谓一心不能二用。开源框架有庞大的开源社区替你承担了这些风险,替你保证了质量,为什么不用?
[b]山寨框架罪状第三条:过于依赖老员工。[/b]这个说起来简单,开发这框架的人一旦离职,这个框架以及因它而造成的烂推子便很难收拾。除非你花重金找gigix来重构一把。
我想问问那些正在发明框架的同学,你弄明白为什么要MVC,为什么要ORM,为什么要IoC了吗?
我觉得框架这东西,[b]首先要明白为什么要用它[/b]——这是废话,但又是最重要的。真的有些人是不知道为什么用框架,乱用一通,产品代码乱七八糟。
然后是学习如何用好它,掌握框架后接着可能会发现它的不足,然后要是能够的话,再试试用用其它的框架,选一个最合适的。如果实在找不着你需要的框架了,这个时候如果公司允许,你再去改进某个框架,或者研读它的源代码参考着做个更好的。
否则,我觉得你的“发明”永远只是在你的作坊公司里用用、制造混乱而已。
要说发明国产框架,其实国产框架已经数不清了,而不是屈指可数了。要不要试做个调查,自己发明框架的公司有多少,因此造成产品难以维护的公司又有多少?
[b]说“不要重复造轮子”并不是在打击人,只是在提一个建议。[/b]
我是山寨框架的受害者。[b]山寨框架罪状第一条:提高新手学习成本。[/b]人家学好了流行的框架进公司本来可以弄清业务逻辑后直接上手,你非得弄个自制框架,让新人多花时间出来学习框架,浪费公司资源不说,一不小心你的框架理念还能误导新人,害人又害己。人家离开这家公司后,在这积累的经验在别处也许还用不上。
[b]山寨框架罪状第二条:降低产品质量。[/b]公司里做开发,应该以实现业务为主,技术为辅,如果自制框架,你不得不花额外的时间在框架的维护上(bug往往很多,性能好坏说不定)。使用开源框架,你大部分时间只需要关注业务逻辑(相对自制框架来说);如果自制框架,你不得不花大量精力在业务逻辑以外的技术实现上。人的精力是有限的,同时关注2种事情往往会2种事情都做不好,所谓一心不能二用。开源框架有庞大的开源社区替你承担了这些风险,替你保证了质量,为什么不用?
[b]山寨框架罪状第三条:过于依赖老员工。[/b]这个说起来简单,开发这框架的人一旦离职,这个框架以及因它而造成的烂推子便很难收拾。除非你花重金找gigix来重构一把。
我想问问那些正在发明框架的同学,你弄明白为什么要MVC,为什么要ORM,为什么要IoC了吗?