skillup

技術ブログ

プログラミング全般

コードの分割

投稿日:

今回はリーダブルコードの8章。コードの分割について。

ポイントとしては1行に情報を詰め込みすぎているような場合は分割して、意味がわかりやすい区切りにまとめよう、といったことでしょうか。つまりは「困難は分割せよ」ということでしょう。

先日のエントリーでも書いたのですが、自分は短く書くことにこだわりすぎて情報を詰め込む癖がありましたね。例としては無理やり三項演算子を書いたりとか。

もちろん短く書くことは大切ですが、それはあくまで「読みやすい」「意図がわかりやすい」「頭に負担をかけない」ことが大前提となります。もし短く書きすぎることによって逆に読みにくくなるのであれば本末転倒ですので、逆に分割して読みやすくする必要があるでしょう。

変数への分割化・要約化

例えば下記のコードは一行にちょっと情報が詰まっています。

そんなとき下記のように変数を使ってコードを分割することもできます。

ただこの感覚は個人差があると思います。上のコードでも問題ない、読みにくくない、チームの人間も大体上のコードで書いているというのであれば問題ないでしょう。

要は読みやすい情報量に分割する、ということだと思います。

&& ||の反転

数学でいうドモルガンの法則の応用 ( a! && b!) → !( a & b )など。これはif文で複雑な条件分岐があったときに少しでもわかりやすい処理に書き換えるときの工夫でしょう。

1行に処理を詰め込みすぎない

冒頭で書いていたことですが、1行の中に処理を詰め込みすぎるとかえってわかりにくくなるので、読みやすい、理解しやすい量に分割しましょう。短く書くこと自体を目的にしないこと。

ロジックが複雑な場合は別解を検討する

条件分岐の中に複雑な式が3,4入るようならば別のロジックを使えないか検討しましょう。複雑になればなるほどバグの可能性も大きくなります。

-プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

1度に1つのことを

今回のリーダブルコードの概念はやや抽象的。 要は一度に行うタスクは1つにする、というところがポイントになります。 そのための手法として下記のようなことを上げています。 コードが行っているタスクをすべて …

no image

phing

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがありま …

no image

データ構造の基礎知識 中編 ハッシュ

前回の続きです。 前回は配列、連結リストについて学習したので今回はハッシュについて学習します。 Contents1 ハッシュとは?1.1 メリット1.2 デメリット ハッシュとは? key-value …

no image

ファジープロジェクト対策 その2

前回に引き続き、大事だと思ったこと。一部単なるフレームワークの作り方的な内容になっているかも。 Contents1 テンプレート共通化2 バリデーション3 ログ出し4 異常系の処理5 新規プラグイン+ …

no image

Oauthについて

今更ながら認証システムの基本などを復習中です。 今回はOauth(オーオース)について。 一般的なWebサービスを使っていると Instagramでのアカウントがある場合、それのアカウントを利用して、 …

アーカイブ