質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.33%
コーディング規約

コーディング規約とは、コードの書き方についての決め事のことです。 文法のことではなく、そのチームなどの中の約束事としてどのような書き方で行うかを定めるもの。 項目の例として、関数や変数の命名規則、コーディングのスタイル、括弧やインデントの書き方などが挙げられます。

意見交換

13回答

1648閲覧

良いコードの基準はなんでしょうか

Paracel

総合スコア2

コーディング規約

コーディング規約とは、コードの書き方についての決め事のことです。 文法のことではなく、そのチームなどの中の約束事としてどのような書き方で行うかを定めるもの。 項目の例として、関数や変数の命名規則、コーディングのスタイル、括弧やインデントの書き方などが挙げられます。

0グッド

0クリップ

投稿2025/02/13 08:36

編集2025/02/13 10:05

テーマ・知りたいこと

良いコードの条件はなんでしょうか?
可読性、変更に柔軟にたいしょできること?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答13

#1

TakaiY

総合スコア14039

投稿2025/02/13 10:31

一言で言うなら、「読んで理解しやすいコード」だと思います。

いろいろな取り決めなどは、それを実現するための手段という理解です。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

meg_

総合スコア10825

投稿2025/02/13 10:48

良いコードの基準はなんでしょうか

下記の様な"悪いコード"ではないことでしょうか。

  • 変数名が長すぎる、短すぎる
  • ループのネストが深すぎる
  • 適切なライブラリを使用していない(独自実装に拘る)
  • コメントが無い・不足している
  • リソースを無駄遣いする

普通のコードで”良いコード”だと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

utm.

総合スコア526

投稿2025/02/13 10:59

編集2025/02/13 11:08

自分で考えてもいいですが、Wikipediaのソフトウェア品質を参考にしてみるのもいいと思います。

:理解可能性
目的が明確である、あるいは明らか

:完全性
維持可能である

:簡潔性
無駄がない、不必要な内容や複雑な構造をしていない

:移植性
依存が最小限である

:一貫性
記法の一致

:保守性
改良(機能追加や削減)が容易

:試験性
不具合の発見が容易

:ユーザビリティ
学習が容易、体験が効率的、思い出しやすい、ミスが起きづらい、ストレスがなく満足度が高い。

:信頼性
継続的に動作する、回復の手段が用意されている、例外処理がある、健全な値チェックがされている

:構造化の度合い
整理されており、変更しやすく直観的な構造、必要な部分を見つけやすい

:効率性
動作が早い、リソースの使用が効率的、確保と解放が適切なタイミングに実行される。

:セキュリティ
不正や異常なデータの影響が防止されている

補足
ちなみに、時の流れによって色々変わる(あくまで品質の話だけど外してないと思う)
https://qiita.com/UT_ITDaiku/items/ae2c2ae83e7e6dbb1ee2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

tmp

総合スコア312

投稿2025/02/13 23:23

状況で変わってくると思うのですが、書いてない条件はみんな勝手に想像して、大抵は自分状況的な条件で補われて、あなたの希望する回答は得られにくいのではないでしょうか?
適当でいい雑談なら問題ないですね

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

fana

総合スコア12079

投稿2025/02/14 07:47

良いコード

「誰にとって」良い という話なのか,次第ということになる気がします.

例えば,簡単/初歩的 な文法や機能だけを用いて書かれたコードは,上級者が見れば「もうちょっとなんとかならんのか」とか思えるでしょう(つまり,それは上級者にとっては良いコードではない).
しかし,初心者にとっては可読性の観点で「良い」コードかもしれません.

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

sazi

総合スコア25354

投稿2025/02/15 00:52

少ないステップ数であること。
即ち、構造設計、共通化、制御構造が優れている。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

shiketa

総合スコア4075

投稿2025/02/15 02:12

「コーディング規約」とタグがついているので、あなたの属するその組織そのチームで定義されたコーディング規約が存在する、という前提なのでしょう。そうであって、その組織で評価されたいのであれば、コーディング規約に沿っていること、なのでは。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#8

taku0012

総合スコア18

投稿2025/02/15 07:30

所属する組織によってコーディングルールは変わることもありますが、一般的には新しく入ってきた人がコードを見るだけで処理内容が理解しやすいようなコードや改修しやすいコードが良いコードだと言えますね。これらの内容は「リーダブルコード」という技術本に詳しく載っているのでこちらを読むことをお勧めします。結構良い本です。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#9

logres_Fan

総合スコア176

投稿2025/02/15 09:22

 車輪の再発明になっていたら悪いコードかな。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#10

Yosuke-Kawakami

総合スコア137

投稿2025/02/18 02:25

以下のような設計である場合は「こいつ‥‥できるな!」と思うことがあります。

  • 将来的に拡張することを視野に入れた設計であること
  • 変更が既に実装している人たちへの影響を与えにくいところ
  • 変更が最小限ですむ構成になっていること

 

こういう話題のときはアンチパターンのほうが理解しやすいと思いますので、悪いコードの例も挙げておきます。

  • 同じような処理を何度も書いてる
  • 更新の際、修正箇所が何箇所もある
  • 変更した結果、影響を受ける範囲がわからない

どうですか?最低でしょう :-D

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#11

iwamoto_takaaki

総合スコア2884

投稿2025/02/18 03:55

テストが書きやすいかです。

テストが書きやすければ、可読性も拡張性も変更容易性もだいたい高いです。
ただし、基準は”チームにとって”という部分で正解はチームで決めてください。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#12

nano-yokota

総合スコア2

投稿2025/02/18 04:52

ほぼほぼ既に回答が出ていますが、パッと思いついたのは、

  • テストが書きやすい・書いてある。
  • 色んなパターンの拡張を意識していて拡張性が高い。
  • 適切にコメントが書かれている。
  • いつ使われなくなったかわからないコードなどの無駄なコメントアウトがない。
  • 変数・定数名が短すぎない、スペルミスしてない。
  • どこに何が書いてあるのかわかりやすい。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#13

YouheiSakurai

総合スコア6145

投稿2025/02/18 15:40

編集2025/02/18 15:41

チームのみんなが無理なく読めて、自分が離れてもメンテナンスが続くようなコードは良いコードだと思います。

逆に読むのが大変だったり、いろんな理由でメンテナンスを諦めさせるようなコードが良いコードかどうかは疑問です。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問