0
0
テーマ・知りたいこと
良いコードの条件はなんでしょうか?
可読性、変更に柔軟にたいしょできること?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答13件
#1
総合スコア14669
投稿2025/02/13 10:31
一言で言うなら、「読んで理解しやすいコード」だと思います。
いろいろな取り決めなどは、それを実現するための手段という理解です。
#2
総合スコア11049
投稿2025/02/13 10:48
良いコードの基準はなんでしょうか
下記の様な"悪いコード"ではないことでしょうか。
- 変数名が長すぎる、短すぎる
- ループのネストが深すぎる
- 適切なライブラリを使用していない(独自実装に拘る)
- コメントが無い・不足している
- リソースを無駄遣いする
普通のコードで”良いコード”だと思います。
#3
総合スコア862
投稿2025/02/13 10:59
編集2025/02/13 11:08自分で考えてもいいですが、Wikipediaのソフトウェア品質を参考にしてみるのもいいと思います。
:理解可能性
目的が明確である、あるいは明らか
:完全性
維持可能である
:簡潔性
無駄がない、不必要な内容や複雑な構造をしていない
:移植性
依存が最小限である
:一貫性
記法の一致
:保守性
改良(機能追加や削減)が容易
:試験性
不具合の発見が容易
:ユーザビリティ
学習が容易、体験が効率的、思い出しやすい、ミスが起きづらい、ストレスがなく満足度が高い。
:信頼性
継続的に動作する、回復の手段が用意されている、例外処理がある、健全な値チェックがされている
:構造化の度合い
整理されており、変更しやすく直観的な構造、必要な部分を見つけやすい
:効率性
動作が早い、リソースの使用が効率的、確保と解放が適切なタイミングに実行される。
:セキュリティ
不正や異常なデータの影響が防止されている
補足
ちなみに、時の流れによって色々変わる(あくまで品質の話だけど外してないと思う)
https://qiita.com/UT_ITDaiku/items/ae2c2ae83e7e6dbb1ee2
#4
総合スコア350
投稿2025/02/13 23:23
状況で変わってくると思うのですが、書いてない条件はみんな勝手に想像して、大抵は自分状況的な条件で補われて、あなたの希望する回答は得られにくいのではないでしょうか?
適当でいい雑談なら問題ないですね
#5
総合スコア12317
投稿2025/02/14 07:47
良いコード
「誰にとって」良い という話なのか,次第ということになる気がします.
例えば,簡単/初歩的 な文法や機能だけを用いて書かれたコードは,上級者が見れば「もうちょっとなんとかならんのか」とか思えるでしょう(つまり,それは上級者にとっては良いコードではない).
しかし,初心者にとっては可読性の観点で「良い」コードかもしれません.
#6
総合スコア25430
投稿2025/02/15 00:52
少ないステップ数であること。
即ち、構造設計、共通化、制御構造が優れている。
#7
総合スコア4157
投稿2025/02/15 02:12
「コーディング規約」とタグがついているので、あなたの属するその組織そのチームで定義されたコーディング規約が存在する、という前提なのでしょう。そうであって、その組織で評価されたいのであれば、コーディング規約に沿っていること、なのでは。
#8
総合スコア18
投稿2025/02/15 07:30
所属する組織によってコーディングルールは変わることもありますが、一般的には新しく入ってきた人がコードを見るだけで処理内容が理解しやすいようなコードや改修しやすいコードが良いコードだと言えますね。これらの内容は「リーダブルコード」という技術本に詳しく載っているのでこちらを読むことをお勧めします。結構良い本です。
#9
総合スコア176
投稿2025/02/15 09:22
車輪の再発明になっていたら悪いコードかな。
#10
総合スコア161
投稿2025/02/18 02:25
以下のような設計である場合は「こいつ‥‥できるな!」と思うことがあります。
- 将来的に拡張することを視野に入れた設計であること
- 変更が既に実装している人たちへの影響を与えにくいところ
- 変更が最小限ですむ構成になっていること
こういう話題のときはアンチパターンのほうが理解しやすいと思いますので、悪いコードの例も挙げておきます。
- 同じような処理を何度も書いてる
- 更新の際、修正箇所が何箇所もある
- 変更した結果、影響を受ける範囲がわからない
どうですか?最低でしょう :-D
#11
総合スコア2884
投稿2025/02/18 03:55
テストが書きやすいかです。
テストが書きやすければ、可読性も拡張性も変更容易性もだいたい高いです。
ただし、基準は”チームにとって”という部分で正解はチームで決めてください。
#12
総合スコア11
投稿2025/02/18 04:52
ほぼほぼ既に回答が出ていますが、パッと思いついたのは、
- テストが書きやすい・書いてある。
- 色んなパターンの拡張を意識していて拡張性が高い。
- 適切にコメントが書かれている。
- いつ使われなくなったかわからないコードなどの無駄なコメントアウトがない。
- 変数・定数名が短すぎない、スペルミスしてない。
- どこに何が書いてあるのかわかりやすい。
#13
総合スコア6161
投稿2025/02/18 15:40
編集2025/02/18 15:41チームのみんなが無理なく読めて、自分が離れてもメンテナンスが続くようなコードは良いコードだと思います。
逆に読むのが大変だったり、いろんな理由でメンテナンスを諦めさせるようなコードが良いコードかどうかは疑問です。