Upgrade to Pro — share decks privately, control downloads, hide ads and more …

レガシーコードに潜む奇妙なコメント 〜信じるか信じないかはあなた次第〜

Kohei Y
February 11, 2024
1.4k

レガシーコードに潜む奇妙なコメント 〜信じるか信じないかはあなた次第〜

開発をしているときにコメントがあると助かりますよね。
「なるほど、ここはそういう処理をしてるのか!」と、コードの中身を詳しく読まなくとも実装を進めることができます。
しかし、時としてコメントは嘘をつき、あなたを陥れます。
特に古いシステムではこれまでに蓄積され、忘れられ、熟成されたコメントが至るところに散りばめられています。

私が普段開発をしているメール共有サービス メールディーラーはリリースから20年以上が経つサービスであり、熟成されたコメントが多数存在します。
本LTでは私が実際に遭遇したレガシーコードに潜む奇妙なコメントをご紹介し、コメントを信じることが如何に危険なことであるかを知っていただきます。

コメントを信じるか信じないかはあなた次第です!

Kohei Y

February 11, 2024
Tweet

Transcript

  1. 22 // 予約変数名は下記の通り。つかってはいけません。 // $db, $auth, $html, $sess, $system, $reload

    // リクエストパラメータ // $id . . . // 予約変数名は下記の通り。つかってはいけません。 // $db, $auth, $html, $sess, $system, $reload
  2. 23 // 予約変数名は下記の通り。つかってはいけません。 // $db, $auth, $html, $sess, $system, $reload

    // リクエストパラメータ // $id . . . // 予約変数名は下記の通り。つかってはいけません。 // $db, $auth, $html, $sess, $system, $reload 大事なことなので二回言いました
  3. 31 //** 条件 ****************************************** // 変更確定でない、 // かつメールが選択されている、、 // かつ(

    (状態パネルが表示されている、 // かつ、状態「変更なし」でない) 、
  4. 32 //** 条件 ****************************************** // 変更確定でない、 // かつメールが選択されている、、 // かつ(

    (状態パネルが表示されている、 // かつ、状態「変更なし」でない) 、 // または、(担当者パネルが表示されている、
  5. 33 //** 条件 ****************************************** // 変更確定でない、 // かつメールが選択されている、、 // かつ(

    (状態パネルが表示されている、 // かつ、状態「変更なし」でない) 、 // または、(担当者パネルが表示されている、 // かつ、担当者「変更なし」でない) )
  6. 34 //** 条件 ****************************************** // 変更確定でない、 // かつメールが選択されている、、 // かつ(

    (状態パネルが表示されている、 // かつ、状態「変更なし」でない) 、 // または、(担当者パネルが表示されている、 // かつ、担当者「変更なし」でない) ) もうやめて!
  7. 35 //** 条件 ****************************************** // 変更確定でない、 // かつメールが選択されている、、 // かつ(

    (状態パネルが表示されている、 // かつ、状態「変更なし」でない) 、 // または、(担当者パネルが表示されている、 // かつ、担当者「変更なし」でない) ) もうやめて! 実装者のライフはゼロよ!!!