最近、若手に教えることが増えてきて、ふと思ったので書くことにしました。
「プログラムを書く」
システム開発をしていると切っても切り離せない作業ですが、プロジェクトチームで担当している時に「できる限り全員同じようなコードを書き残したい」と思っています。
そのため、ある程度のコーディングルールは決めて、システムチームで共有しています。
PHPのコーディングルール規約は、こちらのページが分かりやすくてオススメです。
まだまだPHPを始めたばかりの人は、一読しておいて損しません(というより一読しておくべきページです...笑)
実際の現場は、上記だけを守っていればよいというわけではありません。
フレームワークを使ったりしていると、「クエリをベタに書く」 or 「フレームワーク独自のクエリビルダで統一する」などなど臨機応変に対応する場面があると思います。
今回はもう少し基礎的なルール・書く時の注意点を書いていこうと思います。
変数名は分かりやすく
ネットで調べるとたくさん記事が出てくるので、知っているかもしれませんが・・・
変数や関数は、見るだけで「何をしている」のか分かるもののほうが良いです。
理由は、後で手を加える時や、修正の時に、コードを深く読まなくても分かりやすくするためです。
開発のシーンでは、最初に開発した人と、運用・改修していく人が違うことは多々あります。
「自分が分かれば大丈夫」
でコードを書いていると、後々大きな手間が発生します(数ヶ月後の自分も変数名なんて覚え切れてないので、コードを読み直すハメになりますしね...笑)
変数名は見て一発で分かるものにしましょう!!
一言でわかるコメントを書く
こちらも変数名と同じく、数ヶ月後の自分はコードの中身などさっぱり覚えてないので、プログラムがどこで何をしているか分かるようにしておくために書きます。
最初のうちは、余分だなと感じるくらい書いてもいいと思っています。
慣れてきたら、必要な箇所にだけ記載することができるようになりますよ。
他の誰かが改修する時の手助けにもなるので、同じ開発チームの人をことを思うなら書いているほうが丁寧ですね。
専用のメソッドより何回も使えるメソッドを
共通化できる処理は、常に共通メソッドとして独立させましょう。
画面1と画面2、画面3で同じ処理をしているなら、共通の処理としてまとめたほうがプログラム的にも読みやすいです。
(例として、ログイン画面と登録画面でパスワードを暗号化する処理があるなら、暗号化は共通の処理としたほうがいいですね)
共通の処理をどの画面からも使えるように作ると、より汎用性が上がります。
逆に、渡す値などを各画面固有のものにしか対応していないように作ると、画面の数だけ同じ処理を作成することになります。
こんなふうに作ってしまうと、作る時にも時間がかかりますし、修正の時にも全部に同じ修正を加える必要が出てきます(この時、凡ミスが起こったりもすると、さらに面倒です...笑)
さいごに
自分も新人の頃は、
「この変数なんだっけ?」 とか
「共通処理で何しているか分からない...」
と思っていましたが、変数名をわかりやすくすることや、共通メソッドを作成することが非常に重要と思っています。
システム開発は個人でもできますが、長期的に管理・運用していくのはチームのことが多いです。
全員が分かりやすく、改修しやすいシステム開発を心掛けたいですね。