目次
1. なぜ文字列は最大の悪なのか
開発現場では、極力文字列をプログラム内で書かないようにしています。
Swiftで言えばR.swiftという外部ライブラリをわざわざ用いることで文字列排除をしています。
ではなぜ、これほど文字列排除運動
が盛んに行われているのか、、、
それは、ヒューマンエラーを極力避けるためです。
人間はミスをするものです。普段からキーボードを見ずにブラインドタッチでガンガンタイプしているエンジニアならタイピングミスなどのヒューマンエラーによる予期せぬところでのバグ発生。複数人での開発であれば尚更です。
これが一番の無駄。
そこで現場で採用しているのは、文字列管理の手法です。
2. 実例
早速コードを載せます。
①文字定義ファイル
const.py
from enum import Enum
# debug系
class DEBUG(Enum):
DEBUG_SUCCESS = '処理完了:'
DEBUG_FAIL = 'エラー発生:'
def name(self, funcName):
return self.value + funcName
②文字定義ファイルを使う側
main.py
import sys
import . from const
def function1():
for i in range(10):
...
successLog = lambda name : print(const.DEBUG.DEBUG_SUCCESS.name(name))
successLog(sys._getframe().f_code.co_name)
def function2():
for i in range(20):
...
successLog = lambda name : print(const.DEBUG.DEBUG_SUCCESS.name(name))
successLog(sys._getframe().f_code.co_name)
function1()
function2()
③実行結果
処理完了:function1
処理完了:function2
3. おわりに
結論、webバックエンド開発や、ゴリゴリにデバックしたい場合を除いて逆に不要です。
今回記事を執筆するにあたり、現場の手法を用いようと考えてみたのですが、小規模開発では導入の恩恵はあまり教授できないかもしれません。ご参考程度に。