维基百科解释:

    硬编码(英语:Hard CodeHard Coding )是指在软件实现上,将输出或输入的相关参数(例如:路径、输出的形式或格式)直接以常量的方式撰写在源代码中,而非在运行期间由外界指定的设置、资源、数据或格式做出适当回应。一般被认定是种反模式或不完美的实现,因为软件受到输入数据或输出格式的改

    与硬编码相对的则是软编码,两者是相对关系,没有绝对之分。
    硬编码是关联很紧密的结构,而乱编码关联就较松散。
    举个例子:
    硬编码:

    1. int i = 1;

    乱编码:

    1. const int var = 1;
    2. int i = var;

    从上面例子可以看出,硬编码是数字和变量直接关联,而软编码则是间接关联(也可以说是多层关联)。
    相对来说,在硬编码中我们要修改某个功能就必需要修改源代码,缺少灵活性。而软编码,则可以通过扩展的方式来实现某个接口,非常的灵活。我们在软件开发中应该多使用软编码来提高灵活性,降低耦合度。