ソフトウェア開発の雑記帳:2024/09/01〜

プロフィール画像清らかなほぐし水

作成日時:2024-09-01 00:35:29

各人が知っているソフトウェア開発時のプラクティスや経験則等を共有してください。

書き込み|DashBoard|スレッド一覧に戻る

レスポンス一覧

プロフィール画像 清らかなほぐし水 - 2024-09-13 23:38:07, 495
PHPMD

静的解析ツールを導入しソースコード品質チェックツールの導入
https://tech.innovator.jp.net/entry/2023/07/12/123232
プロフィール画像 清らかなほぐし水 - 2024-09-13 23:35:23, 494
スロークエリ検出

MySQLでスロークエリのログを出力し遅いSQLを特定・可視化すること。
my.cnfに下記を記述し0.2s以上かかったSQLをスロークエリとして/var/log/mysql/slow.logに出力できる

ーーーーーー
[mysqld]
slow_query_log=ON
slow_query_time=0.2
slow_query_log_file=/var/log/mysql/slow.log
ーーーーーー

上記実行後、mysqldプロセス再起動(sudo systemctl restart mysqld)
スロークエリログファイルはElasticSearch+Kibanaを使って簡単に可視化する方法もあり、この可視化をしておけば開発メンバーが気軽に閲覧しスロークエリに気づけます。
このような可視化をすることで予期しない性能劣化にも早期に気づくことができます。
プロフィール画像 sei6sei - 2024-09-01 07:47:48, 355
(OS限定になるけど)http://www.uefi.org/specificationsを熟読する
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:56:47, 351
セマンティックバージョニング
・0.0.1みたいなバージョン付け
・x.y.z
x:メジャー
y:マイナー
https://semver.org/lang/ja/
z:パッチ
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:53:53, 350
ポステルの法則
・事前条件と事後条件においてポステルの法則を念頭に置く
・「送るものは慎重に、受け取るものは寛容に」
・メソッドは理解できる限り入力を受け入れるべき
・戻り値はできるだけ信頼性が高くなければならない
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:50:45, 349
コミュニケーション階層
将来の読み手に向けてコードを書く。※読み手は将来の自分かもしれない。
下記リストの優先順位にしたがって、振る舞いや意図を伝えること
・1)APIに明確な型を与えること
・2)メソッドに分かりやすい名前をつけること
・3)良いコメントを書くこと
・4)自動テストとして分かりやすい例を提供すること
・5)Gitで分かりやすいコミットメッセージを書くこと
・6)分かりやすいドキュメントを書くこと
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:47:01, 348
フィーチャーフラグ
・半日程度の作業で一貫性のある形で変更が終わらない場合にはフィーチャーフラグを使って機能を隠してリリース
・自身の変更を他人と継続的に統合する
・マージコストを下げる
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:44:52, 347
横断的関心事のためのデコレーター
・ロギング等の共通処理をビジネスロジックに注入してはいけない
・AOP
・デコレーターパターンを使って対応するとよい
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:43:16, 346
サイクロマティック複雑度
・if分岐数を計測しメソッドの複雑度を計測
・しきい値が7に設定するとよいらしい
・リファクタリングする際の目安とするとよい
プロフィール画像 清らかなほぐし水 - 2024-09-01 00:40:49, 345
CQRS原則
・コマンドとクエリに分離して処理を書く
・コマンド:副作用がある処理(更新トランザクション)
・クエリ :副作用がない処理(参照トランザクション)