skillup

技術ブログ

プログラミング全般

コーディングについての気づき

投稿日:

現在の現場でコーディング関連で勉強になっているポイントについてまとめてみようかと思います。

自動化

規約エラーなどなるべく自動化できるものは自動化を。

  • エディタに共通のものを入れて迅速に検知できるようにする
  • CIで規約エラーのものを落とすようにする
  • どこまで対応するかは現場の事情によりますが、テストにてパターンの多いものを検証できるようにしておく
  • コスパを考えて、自動化しすぎないことも検討に入れる

命名

プログラミングを始めた当初から大事さには気づいていましたが、日々実感することが多いです。

大事なポイントとしては、

  • 規則性を持たせる(特にルーティングから自動で決まるものに注意。ControllerやUseCaseなど。)
  • 冗長すぎるものは避ける(そもそもアーキテクト設計がしっかりされているとそこまで冗長にはならないはず・・・)
  • フォーマットの決まっている値(会員番号など)はValueObjectで定義する

ですかね。

責務の分離

以前のリンク(クリーンアーキテクチャーがらみの話題など)でも書きましたが、どこに何を書くのかのディレクトリ構造ですね。

Controller、Serivce、Infrastructure、Modelなどでの責任がどこまでか(リクエストを受け取るだけなのか、ビジネスロジックを受け取るのか否か、など)の意識です。

現実案としてはある程度折衷案を取ることも大切になってくるかと思います。

ここを意識することで命名にも聞いてくるポイントかと思います。

その他

  • 意図せず連想配列を使うことを避ける
    →追加時に柔軟性がある一方で、中身がブラックボックスになり、可読性が少し落ちる。引数を分けたり、オブジェクトで管理することなど。
  • 定数系の値は基本Enumを使う
    →単純に保守性が高いからという意味もありますが、可動性の向上と、値自体に意味を持たせたいため。

ちょっと中途半端ですが、ここら辺で。(追加あるかも・・・)

-プログラミング全般
-,

執筆者:


comment

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

関連記事

no image

emptyの扱いに関して

PHPで空白や存在確認として便利なemptyですが、乱用すると意図しない動きをすることがあるケースが多々あります。 Contents1 emptyの挙動に関して2 数値の03 検索などの全判定と値のな …

no image

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

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

no image

phing

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

no image

便利すぎる道具の弊害

現在、Javaのプロジェクトでは会社でNetbeansを使っていますが、IDEを使っているばっかりに理解できていないところがありました。便利すぎる道具の弊害ですね・・・ IDEについて一応説明をしてお …

no image

データのシリアライズ

おととしにJavaをやったときにでてきましたがSessionに情報を格納するときにでてきたシリアライズについて。 セッションはステートフルな状態を実現するための便利なデータの保存方法ですが、値をオブジ …

アーカイブ