编写完成一件事并做得很好的程序
我可以通过封装,依赖注入,最少知识原则,你不需要它来掌握“做一件事”的部分;但我怎么理解第二部分“做得好”?
给出的一个例子是完整性的概念,在同一篇YAGNI文章中给出:
例如,在允许添加项目,删除项目或修改项目的特征中,可以使用完整性来推荐“重命名项目”。
但是,我发现这样的推理很容易被滥用到特征蠕变中,从而违反了“做一件事”的部分。
因此,看到相当一个特征属于“做得好”类别(因此,将其包含在函数/类/程序中)或其他“做一件事”类别(因此,排除它)的试金石是什么? ?
第一部分,“做一件事”,最好通过UNIX的
ls
命令作为反例,因为它包含了过多的标志来格式化它的输出,这应该完全委托给另一个外部程序。但我没有一个很好的例子来看第二部分“做得好”。
什么是一个很好的例子,删除任何进一步的功能将使它不“做得好”?
没有找到相关结果
已邀请:
5 个回复
蹄寄噬非芹
如果数组中没有元素,这会怎么做?如果项目总数超过MAX_INT? 性能特点。随着数据量的增加,是否对行为给予了足够的重视? 依赖性失败。如果我们的实现依赖于其他模块或基础架构,当这些失败时会发生什示例:文件系统已满,数据库已关闭? 关于特征蠕变本身,我认为你在这里识别紧张是正确的。您可以考虑的一件事是:您不需要实现每个功能,只要很明显可以轻松添加功能而无需完全重写。
号拳藐孔妇
bab
扑北爱
郡豪靠暖