我在维基百科上找到了关于软编码反模式简洁和令人困惑的条目.什么是软编码?在什么环境下这是一种不好的做法(反模式)?此外,什么时候可以被认为是有益的,如果是的话,应该如何实施?
Cha*_*ant 23
简短的回答:走向极端以避免硬编码并最终得到一些怪物复杂的抽象层来维持比从一开始就存在硬编码值更糟的情况.即过度工程.
喜欢:
SpecialFileClass file = new SpecialFileClass( 200 ); // hard coded
SpecialFileClass file = new SpecialFileClass( DBConfig.Start().GetConnection().LookupValue("MaxBufferSizeOfSpecialFile").GetValue());
Run Code Online (Sandbox Code Playgroud)
每日WTF关于软编码的文章的要点是,由于过早优化并且担心一个定义得非常好的系统并且没有重复的知识被改变并且变得更加复杂而没有任何需要.
您应该记住的主要事情是,如果您的更改实际上改善了您的系统并避免轻微地将某些内容标记为反模式并且无论如何都要避免它.配置系统并避免硬编码是解决系统中重复知识的一种简单方法(参见" 实用程序员快速参考指南 "中的第 11点:"干不要重复自己" )这是避免硬编码建议背后的驱动需求.即理想情况下,如果您必须更改像错误消息那样简单的内容,那么您的系统中应该只有一个地方(即代码或配置)应该被更改.