PHPer女子のLTで話題になった「非モテコード」
去年、あるLTで「モテないコード」の例を3つ紹介して話題となった深澤ひかりさん。ちなみに、どんなコードが紹介されたかというと…。
まず1つ目は「意味のわからない名前」。ListAとかalistとか、bCountって一体何を指しているの?という状態。自分にしかわからない名前で書くのはやめましょう!
2つ目はforeachの記述が永遠と続く「foreach地獄」……イケてませんね。
3つ目は「goto fail;」が{}でくくってないので、読み込まれてないif文。も、もう生理的に無理…だそうですorz
2015年バージョンのLTは、なんとCodeIQ問題とコラボしてもらうことに。まずは作戦会議ということで、PHPer女子3人に集まっていただきました。
<座談会参加メンバー>
深澤ひかりさん
株式会社スタジオ・アルカナ勤務。最近ではPHPよりJavaScriptをゴリゴリ書いている。PHP勉強会を運営している。去年のLT「PHPer女子が語る!こんなコードを書くヒトはモテない」で話題に。
わかなさん
PHPのAPI、CakePHPなど、サーバサイドからフロントエンドまで操るギークガール。最近、ベトナム人女性向けオンライン日本語学習サービスを提供する、株式会社CAMON.TOKYOを起業。
なっちゃん
DTPデザイナーだったが、WordPressで構築しているうちにPHPに興味を持つ。PHP勉強会に参加してうちに、ひかりさんにスカウトされて1カ月前に株式会社スタジオ・アルカナ入社し、後輩に。
無意味なコメントアウトはどれ?
ひかり:ということで、いくつかネタを持ってきたよ。最初は「無意味なコメントアウト」。自分自身もコメントアウトで失敗しやすいので出してみたんだけど、どうかな。コメントアウトって、たくさん書かないといけないと思ってたけど、これって必要ないよなっていうのあるよね?
わかな:あるある。変数ちゃんと書いておいてくれればいいのに、なかったり。メソッド名が変だったり。todoの横に何も書いてなかったり…。
なっちゃん:todoは残しておいてほしい!
わかな:コメントアウトがなくて、コードレビューする側が探さなきゃいけないこともあるよね。必要以上に手間かけさせないでほしい(笑)。
なっちゃん:昔、ごめんとか書いてあるコメントアウト見たことある。誰に謝ってるんだって笑っちゃった(笑)。
ひかり:不要だと思うコメントアウトはどれかっていうのを、女子でアンケートとって正解にするのも面白いかもね!じゃ、1問目はこれで決定!
設問1. このコメントダサイなぁ。マシなのはどれ?
1. // modified by 2015-09-14 y.yamamoto
1. // TODO: あとでテスト
1. // カンマ区切りでsplitする
──── PHPer女子が選んだ集計結果を見る
長過ぎる関数やif文条件式とか
ひかり:長過ぎる関数書く人っているよね。1画面におさまるぐらいがベストなんだけど、おさまらないくらいの。
わかな:いる!長過ぎるif文条件式書いちゃう人とか。上手に分割してほしい。
ひかり:「regist(*)」とか、間違った言葉を使っちゃってることもよくあるよね。文法的にも正しくない関数名とか、ググるといっぱい出てくる。
わかな:人が見ることを意識していないからだよね。マジックナンバー書く人とかもいるよね~。
ひかり:じゃあ、ヒドイ命名規則とかマジックナンバーとかを挙げて、どれなら許せるかって聞いてみようか。
設問2. 命名規則がダサいのが並ぶよ!どれがマシ!?
1. $p['ctg'] = $ctg; // 製品のカテゴリID
1. $strName = “paul”;
1. $ninzuu = 20;
──── PHPer女子が選んだ集計結果を見る
設問3. マジックナンバーが並ぶよ!酷いよ!どれなら許せる?
1. $expired = 86400;
1. $taxincluding = $price * 1.08;
1. error_reporting(0);
──── PHPer女子が選んだ集計結果を見る
PHP界のコード・イケメンはmpywさん!?
わかな:モテないコードのソースレビューが一番ツライよね。レビューすることのことを考えて書いてほしいって思う。
ひかり:ところで、イケメンなコード書く人ってどんな人かな。
わかな:それは、絶対mpywさんだと思う!Qiitaにいつもすごく詳しい解説記事を書いてるんだけど、記事にすごく愛があるの。まだ学生さんだと思うんだけど。
Qiitaだけじゃなくて、なんとヤフー知恵袋でも困っている人に対して優しくアドバイスしていて。もうPHP界の王子的存在っていうか。会ったことないけど、絶対イケメンのはず!
ひかり:うんうん、mpywさんはたしかにスゴイ!「エラーログ見ろ」とか突き放さないよね、絶対(笑)。
わかな:「INDEXの使い方もわからないの?」とかも、ムカつく!逆に困ってることに気付いてるのに、「ggrks」とかいって、自分で調べろとか、放置プレーする人もいるし。
なっちゃん:私は控えめにぐいぐい来てほしい。放置が一番ツライなあ。
ひかり:技術書をそっと差し出してくれたりね。
わかな:私はやたら上から目線でわかってることをグダグダ一から説明されるのが苦手。わからないところだけ教えてくれるmpywさんみたいな人がいい!
ひかり:じゃあ、これが最終問題ということで決定!結構意見が分かれるから、結果が楽しみかも!でも結局は、いかに女子のプライドを傷つけないようにサポートやアドバイスしてくれる男子がモテるってことかな。
設問4. 後輩の女子が困っている!どうする?
1. 「エラーログ見てごらん」とさりげなくアドバイス
1. 「この本を読んで勉強してみたら?」とそっと参考書を渡す
1. 自分で理解するのが一番!そっとしておく
1. 1から100まで懇切丁寧に長い時間をさいて教える
──── PHPer女子が選んだ集計結果を見る
【結果発表】モテモテエンジニアは18%!ブサイクエンジニアは…?
PHPer女子が選んだ解答の集計結果は以下のようになりました。予想外に女子の意見も割れる結果でした。コードへのこだわりは人それぞれということかもしれませんね。
あ、これはあくまでネタですよ!!リーダブルコードよんでくださいね!!
【正解】1. このコメントダサイなぁ。マシなのはどれ?
正解は、「// カンマ区切りでsplitする」でした。
- // modified by 2015-09-14 y.yamamoto 21%
- // TODO: あとでテスト 36%
- // カンマ区切りでsplitする 43%
【正解】2. 命名規則がダサいのが並ぶよ!どれがマシ!?
正解は、「$strName = “paul”;」でした。
- $p['ctg'] = $ctg; // 製品のカテゴリID
- $strName = “paul”;
- $ninzuu = 20;
【正解】3. マジックナンバーが並ぶよ!酷いよ!どれなら許せる?
正解は、「error_reporting(0);」でした。
- $expired = 86400;
- $taxincluding = $price * 1.08;
- error_reporting(0);
【正解】4. 後輩の女子が困っている!どうする?
正解は、「『エラーログ見てごらん』とさりげなくアドバイス」でした。
- 「エラーログ見てごらん」とさりげなくアドバイス
- 「この本を読んで勉強してみたら?」とそっと参考書を渡す
- 自分で理解するのが一番!そっとしておく
- 1から100まで懇切丁寧に長い時間をさいて教える
ちなみに女子は「そっとしておく」がゼロ!放置すると絶対モテないのでご注意を!
- 深澤さんのLTスライド:PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜
あなたにとって「理想の会社」とは?
「理想の会社で働きたい!」――― いたって単純で、誰もがそう思うこと。
では、あなたにとって理想の会社とは?
あなたが思い描いた「理想」は、きっと今あなたが抱いている「不満」の裏返し。
- 残業が多い、服装が自由じゃない、エンジニア向きの設備がない、
- BtoBの開発だけだと反応がなくてつまらない、
- 会社全体が新しい技術や開発スタイルに関心がない、
- ずっとコードを書いていきたいのに管理職しか道がない…
あなたが抱くその「不満」を「理想」に変えられる会社がどこかにあるはずです。
ITエンジニアのための求人サイト「CodeIQ JOBS」は、スキルやこだわりで検索ができます。
また開発環境や技術への取り組みなど、ITエンジニアがスキルを発揮するために必要な情報を多く掲載しています。
さらに、「CodeIQ」で得た評価をもとに、掲載されている企業の求人へ応募することも可能。