代碼中避免“硬編碼”的必要性

        對於硬編碼的定義不同的理解可能會有所不同,這裏的硬編碼指的是在代碼中將一些數字或字符串常量直接寫入代碼中。比如一個查詢語句需要以一個字段搭配一個常量作爲條件查詢,使用類似這樣的sql語句去查詢:“SELECT name, age, salary FROM user WHERE id != ?”,這裏如果在代碼中寫“死”一個id(比如:SELECT name, age, salary FROM user WHERE id = 89757)傳到這個sql中,這就是硬編碼的一種。
       直接在代碼中使用“魔鬼數字”和未經定義的字符串常量除了會降低代碼的可讀性。另外,如果這一個常量需要進行變更或者修改,寫“死”在代碼中的常量很難去修改;又或者在多處都使用到了這一“魔鬼數字”,要對其更改需要做全局替換。這個時候,使用一個被static final修飾的值去表示這個“魔鬼數字”或常量會讓代碼的可擴展性和可讀性好很多。也就是說,去更改這一個值,無論有多少個方法引用了這它,又或者這一個值涉及到複雜的業務邏輯,要去修改它後只需要修改一個定義的屬性即可,省去了不少功夫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章