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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

5回答

1540閲覧

リポジトリ管理下での「コード変更箇所」と「右側コメント変更」の差分表示について

GuielNo4

総合スコア88

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/08/01 12:24

前提・実現したいこと

「ツール解決」か、「コーディングルール解決」か悩んでいます。
アドバイス頂けると助かります。

発生している問題・エラーメッセージ

(1)「コードの右側余白にコメント文を入れて書いた方が可読性が良い。処理の流れもコメントを読んだ方が理解が早い」というタイプの人と
リポジトリのリビジョン間の差分表示で、
(2)「右側余白コメントだけ変更されるとコードが変更されていないのに、差分として表示されてしまうので、
コードレビューのための可読性が悪すぎる」というタイプの人がいます。

該当のソースコード

(1)
a++; // インクリメントします。

(2)
/// センサーが反応したのでインクリメントします。
a++;

頂きたいアドバイス

A) 差分比較には winmarge を利用しているのですが、変更箇所の色分けを「行」ではなく「文字のみ」にする方法をご存知の方がいらっしゃいましたらアドバイス頂けると助かります。

B) ソースの上から下まで延々コード内容を「右側に日本語化したコメント」として書くことで、
「右側のコメントで処理の流れが分かりやすい」との見解らしいのですが、
そもそもコメントを読まなくても分かるコードを書いた方がいい気がしていまして…
コーディングルールとして「右側コメント禁止」は乱暴すぎるでしょうか?

以上2点、アドバイス頂けると助かります。
宜しくお願い致します。

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

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

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

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

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

guest

回答5

0

右側コメントに反応して回答します。

私個人としては右側コメントは反対です。
右側にコメントがあることで、コードが非常に汚くなります。
綺麗に書こうとすると右側コメントの位置をそろえる必要がありますが、コーディング中に位置あわせを気にしないといけないという余計な作業が発生します。
そもそもステップごとにコメントって必要でしょうか。
次のようにある程度の処理単位の説明程度でよいと思いますが。

c

1// 以下の処理についてのコメント 2処理 3処理

追記
コードレビューでコメントを除外したい要望があるようですが、コメントもレビュー対象にすべきではないでしょうか。
意味のないコメント、間違っているコメントなんて、害にしかならないと思うので、積極的に指摘を出すべきです。

投稿2018/08/02 00:56

編集2018/08/02 05:18
ttyp03

総合スコア16996

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

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

GuielNo4

2018/08/03 02:23

アドバイス有難うございました。 「そもそもステップごとにコメントって必要でしょうか。」 !! 確かに。コメントは誰のために書くかという視点が抜けてました。 ステップごとに書く人は自分のためじゃない気がしてきました。 もし自分のためなら、「日本語ベーシック」でいい気がします。(年がバレますが…) コーディングルール一発で解決ではなく、レビューである程度時間をかけていくことも検討したいと思います。
fana

2018/08/03 03:03

(ちょっとずれた話かもしれませんが) コードと同じくらいか(あるいはそれ以上に)コメントも,その書き方も含めてしっかりレビュー時のチェック対象にした方が良いと思います. (放っておくと,インタフェースにすらコメント皆無だとか,主語や目的語を省いた文章になっていて他者が読むと何言ってるかわからないとか,職場や仕様に対する愚痴や文句が垂れ流されていたりとかw,etc…)
ttyp03

2018/08/03 04:01

fanaさん> 激しく同意
GuielNo4

2018/08/03 09:04

今回いろいろアドバイスを頂いて 1)「単機能化→コメント不要」2)「機能複雑化→説明のためコメントが必要になってくる」という構図があるのかなと思いました。現実的に1)で済ませることは不可能な気がしますので、 2) でコメントが「複雑化したコードの理解」にどれだけ貢献しているかレビューを行う必要があるのかなと感じました。 コメントありがとうございました。
guest

0

ベストアンサー

前までは右側に書いていましたが、処理の場合には上に変えました。
右にするとインデントが気になるのと
一行が長いと横スクロールが必要になるため。

また、例のような処理の場合にはコメントはいれません。
コメントは、
そのプログラム言語がある程度分かるが、そのプロジェクトに精通していない人に対して、
この処理は何をしているのかという説明をコメントに書くようにするといいのではないでしょうか。

右に書くのは、定数値の内容の説明やenumや構造体の各種変数の説明の時くらいですかね。
単純に、右の方が把握しやすいので。

回答してくれている人がいますが、
コード比較ツールにはたいていコメント無視のオプションがあるので、それを探してください。

投稿2018/08/02 01:26

編集2018/08/02 01:28
ardin

総合スコア544

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

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

GuielNo4

2018/08/03 02:32

アドバイス有難うございます。 私の経験的な視点でしかありませんが、確かに「そのプロジェクトに精通していない人に対して…」コメントを書いてる気がします。コードレビューの対象にコメントも追加していこうかと思います。 ありがとうございました。
GuielNo4

2018/08/03 02:41

A) B) 両方のアドバイス有難うございました。
guest

0

WinMerge に「コメントの差異を無視する」フィルタがあるので、レビューの可読性については良くなるかと思います。
WinMergeの使用方法 ファイルの比較

投稿2018/08/01 22:24

gaya-K

総合スコア449

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

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

GuielNo4

2018/08/03 02:03

ご教授頂きました機能のチェックボックスを見つけました。 いろいろ試してみたいと思います。 アドバイスありがとうございました。
guest

0

コーディングルールとして「右側コメント禁止」は乱暴すぎるでしょうか?

どちらかと言うと右側に書く方なので、許して、、というところです。
上に書くとどうしても行数が増えて一度に見れる範囲が減ってしまいます。

ただ、

a++; // インクリメントします。

この程度で、コメントが必要かは大いに疑問があるし、上に書いたところで、コメントを編集すると相違点となりますね。
あと、実行行数行に対して、10数行のコメントを書く人がいますが、ほんとの実行箇所は何処? と聞きたい事も。さらには、コードを変更したのに、コメントを直さない人も多数。 // ここはテスト用、リリース時は削除の事、、、なんてコメントが平気で残っているとか。

まあ、どちらにしても程々にで、コメントも正しく直して欲しい。 (<-- これが一番)

投稿2018/08/01 12:51

pepperleaf

総合スコア6383

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

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

GuielNo4

2018/08/03 02:33

アドバイス有難うございます。 「一度に見れる範囲が減る」「この程度のコメント不要では?(コメントの方が文字数が多い)」というポイントから、ルール一発で解決するより、コードレビューの対象にコメントも入れていきたいと思います。 ありがとうございました。
guest

0

コメント禁止、としてくれると喜んでコメントのまったくないコードを書きますね。
私のようなズボラな人間にとっては、まことにありがたいことですw

投稿2018/08/01 13:45

y_waiwai

総合スコア87719

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

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

GuielNo4

2018/08/03 02:38

コメント有難うございます。 エンジニア全員を究極の方向に向かわせる方針であればそうすべきだと思います。正直コメントを意識する時間をコーディングや設計ブラッシュアップ、デバッグに使いたいですし…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問