ホーム

スタッフブログ

2020年9月14日

ブレイクスループログラミング

こんにちは。

システムチームマネージャー / プログラマー のAです。

 

普段の仕事内容は

開発、部下への指導、定期的に面接、打合せ、など。

 

技術的なレベルで言えば

・LAMP + JavaScript(jQuery)なら大体何でもOK

・新技術も、1ヶ月あれば大体OK(たぶん)

という感じです。

 

“ブレイクスルー(障壁突破)”という大げさなタイトルですが

プログラミング初学者が高速にスキルアップするアイデアの提案になります。

 

僕はプログラム歴6,7年目ですが、

早ければ、3,4年でこの程度の技術レベルには辿り着くと思います。

では、本題に入ります。

 

結論)命名を徹底して具体的にするだけ。

高速でスキルアップするには

「命名を徹底して具体的にするだけ」でOKです。

もっと丁寧に言うと

「変数や関数の名前を、見た瞬間、意味が確定できるレベルで具体的に書くだけ」です。

 

この「だけ」という所がとっても大事。

オブジェクト指向、フレームワーク、デザインパターン、一切気にしなくて大丈夫。

知らないうちに出来るようになってます。

 

例題)具体的な変数名・関数名をつけなさい(全3問)

① 洗わないといけない服 => 「clothesShouldWash

② お客様だけが利用する黄色いフォーム => 「yellowFormOnlyClientsUse

③ ログインエラー通知のメールをスタッフ向けに送る関数 => 「sendMailErrorByLoginToStaff

( ※答えは白文字で書いているので、カッコ内を選択・反転して見てください。)

 

英語の問題みたいですね。

文法的には多少間違っていても大丈夫。エラーじゃないので笑

 

プログラミングになると、人は命名に手を抜き始める

実は、多くの人が先の例題に、なんとなく正解します。

部下2人にも試しましたがキチンと正解。優秀。

ところが、実際のコード上でそれを再現する人は1割切ります。

 

何故か。

プログラミング中の命名が面倒で、かなりストレスなんですよね。

命名なんかより、処理の流れ・ロジックを考える方が楽しいから

とりあえず一発目に思いついた名前を付けて、終わる。

 

そこを何とかこらえる。

頑張って、具体的に命名し続ける。

長ったらしい変数だらけになる。

コードを開いた瞬間、嫌気がさす。

想定外のエラーが止まらなくなる。

もう耐えきれない、無理だ、と思う。

そのストレスを解消するために、便利な技術があればいいのに、と心底思う。

 

そこが、ブレイクスルー(障壁突破)のタイミングです。

間違いなく「オブジェクト指向」や「単一責任原則」 が突き刺さるはず。

フォルダの中にファイルを入れるような感覚が、快感に思えるはず。

スキルアップ完了です。

 

スキルアップする理由なく、人はスキルアップしない。

個人的にですが

「スキルアップ」という言葉は、”ていよく” 使われるので苦手です。

実際、

「スキルアップがしたい」だけでスキルアップした例を僕は知りません。

 

スキルアップしたいと思うのなら

スキルアップしないといけない理由や環境を作るべきです。

だから、

変数や関数の名前を、見た瞬間、意味が確定できるレベルで具体的に書く

というストレスをわざと与えました。

 

ブレイクスルーのカラクリは、以上となります。

 

 

補足)実は、具体的な命名は超スタンダード。

ストレスを与えるためだけに、

具体的な命名をしなさい というわけではありません。

 

「リーダブルコード」という

プログラマー必読の超有名な書籍がありますが、

「抽象的な名前よりも具体的な名前を使う」

という「章」がある程度にはスタンダードです。

 

スタンダードである理由自体は

本題から外れるので割愛しますが、

「単にストレスだけ発生している」的なニュアンスでは無いことを、

ご理解いただければ幸いです。

 

 

 

求人バナー

このページの上部へ戻る