JSIDoc是我一年前开发的用来解析JS文档的纯客户端脚本程序。
现在随着JSI2的重构,已经好久没有跟进了,今天回头看看。
很多设计实在是失误,记录一下:
SourceEntry作为ECMAParser的子类:非常失败,导致SourceEntry非常复杂,回头一看,头大!
如果使用组合,这种局面就不会发生。
总结:不要滥用继承。特别是JavaScript这种弱类型语言,成员多了,鬼知道他们在干什么。
JSDoc作为类:算是比较失败吧,如果用单例,很多东西可以简化。
总结:不要总去假设一些没有的需求,宁可新需求到达后重构,甚至重写。
现在随着JSI2的重构,已经好久没有跟进了,今天回头看看。
很多设计实在是失误,记录一下:
SourceEntry作为ECMAParser的子类:非常失败,导致SourceEntry非常复杂,回头一看,头大!
如果使用组合,这种局面就不会发生。
总结:不要滥用继承。特别是JavaScript这种弱类型语言,成员多了,鬼知道他们在干什么。
JSDoc作为类:算是比较失败吧,如果用单例,很多东西可以简化。
总结:不要总去假设一些没有的需求,宁可新需求到达后重构,甚至重写。
作者回顾了一年前开发的JSIDoc项目,在解析JS文档方面的心得体会。指出SourceEntry作为ECMAParser子类的设计失误,并建议采用组合而非继承。同时认为JSDoc使用单例模式会更简洁。
764

被折叠的 条评论
为什么被折叠?



