“幼稚”的方法存在一个问题,那就是可维护性——您需要维护、调试和测试多达12倍的方法。想象一下,如果您需要向它们中的所有方法添加一个额外的参数……随着时间的推移,这些方法将变得非常相似,但不完全相同。因此,“复杂”的方法可能会在未来发挥作用。
顺便说一下,在28种“幼稚”方法中有一个bug,而其他27种方法则没有这个bug :)
代码应该易于阅读和编写(无错误)。短的代码容易编写,但难以理解。
如果必须选择一个,我会选择更短的代码,因为它不太可能出现错误。对其工作原理进行详细注释,最好附带返回值示例。如果可能,尽量减少重复。
我的看法是尽可能保持代码的简单和直接性。这意味着即使对于新手和专家都能理解。
如果您的代码保持"简洁明了",甚至新手或中级程序员也可以轻松修改和扩展。修改的能力促进了"解决方案"的演变。演化的解决方案是一个好的例子:-)。
顺便说一句,我认为这个问题应该放在 Code Review.SE 上,但我可能错了。