gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

まとめろ!!

実際ぶち当たってるソースで結構困ってるのですが。
たとえば。パスワードをハッシュ処理(または暗号化処理)するってのは、割合に良くあることだと思います。
ハッシュと仮定して、とりあえず

  • 新規登録時
  • パスワード修正時
  • ログインの時
  • パスワードリマインダ系の処理の時

などにハッシュ処理が行われると思うのですが。これを、割合に皆さん「どうせ1〜2行の処理だし」ってことで

パスワードハッシュ値 = md5(パスワード平文);

って書いちゃうことがままあります。
個人的にはこれは「悪いコード」だと思ってます。


ここは、ひとかけらほど手間でも

パスワードハッシュ値 = パスワードencode(パスワード平文);

と関数(かより理想的にはclass)にラッピングしておくほうが良いと思います。


で、これがもうちょっとひどくなると「何十行と同一なソースをコピペしている」状況を多々拝見します。
通化にはそれはそれでハードルがあるのですが(その一致性が「偶然」なのか「必然」なのかの判断)、それでも「ちゃんとやろうよぉ」な状況は少なからずお目にかかります。
特に「共通化は大事だと思うんだけど既存のコードが散らかってるから」って理由でcode hazardを広げてるケース。
そーゆー歴史が見えるようなソースを読むたびに…気力が抜けていきます(苦笑


っちゅわけで。
「ちゃんと共通化しませう」。