skillup

技術ブログ

プログラミング全般

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

投稿日:

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

自動化

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

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

命名

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

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

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

ですかね。

責務の分離

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

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

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

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

その他

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

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

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

執筆者:


comment

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

関連記事

no image

ログの設計指針について

今まで10以上近い現場で仕事をしてきましたが、どの現場でも絶対必要になる(かつどこもあまり対策が取られていない)技術としては 検証したい状態の復元がすぐにできる(テストデータ作成) ログの適切な設計 …

no image

VSCodeのPluginなど

Vscodeで使っているPluginなど Contents1 基本2 UML3 git4 PHP コードフォーマット5 golang6 CSV整形 基本 Japanese Language Pack …

no image

CIことはじめ

業務でJavaのテキスト変換ツールを作成。 プログラムよりもCIツールを使って他人の環境下で正常に稼動させるためにどうするかの調査に時間かかりましたね。 今回やりたかったことは下記の通りです。いわゆる …

no image

テスト項目の作り方(縦項目について)

テスト項目の作り方について。 単体テスト書のレビューをしていて、なるべく効率的に網羅的にできるテスト仕様書の作成について。 納品物としてではなく、開発の高速化と品質をあげるためのテスト仕様書を。 Co …

no image

リーダブルコードまとめ

リーダブルコードほぼ読み切ったのでまとめを。チェックリスト化して、常にこれを見ながらコードは書いたほうがよさげ 前半のまとめや参考リンクでみたものとマージします。 Contents1 変数の名称2 コ …

アーカイブ