- ベストアンサー
C言語のコーディングチェックリスト
社内教育の一環でC言語の講習を行ないます。 その中でC言語のコーディングを行なう際の 注意点ややるべきでないコーディングスタイルなど コーダーが自己チェックできるチェックシートを 作成して事前に配布しようと思っています。 特にC言語固有のルールなどがあれば 事前に共有しておきたいのですが、 どういったことを盛り込んだらよいでしょうか。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- C言語のCGIが編集できません
フリー配布のC言語で書かれたチャットのCGIをダウンロードしたのですが、エディタで開くと テキスト中にNULL文字が含まれています! この文字はメモ帳++で強制的に削除されます。 と警告がでます。そして開くと文字化けをしたようになってしまいます。 そのままの状態でアップロードすると、404エラーが出ます。 別のプログラムでCGIのエラーチェックをすると、 Unrecognized character \x7F at (eval 1) line 1. と出るのですが、さっぱりわかりません・・・。 恥ずかしいのですがC言語の知識が全くないので、C言語についてもアドバイスをいただけるととても嬉しいです。
- ベストアンサー
- CGI
- 今風(?)のコーディング規約が知りたい
C++ は初心者です。他の言語は結構長くやっております。C は多少経験があります。(が、知識が 10 年くらい前のものです) 趣味で C++ を始めたのですが、仕事や大きなコミュニティ内で使ったことがないために、今現在主流のコーディング規約というかお行儀の良いスタイルの判別が難しいです。ヘッダファイルや Google Codesearch 等で片っ端から色々なソースを見ているのですが結構バラバラなんですよね・・・ 他の言語の経験があるので、switch の最後には何もなくとも default を明確につけとけ みたいなことの有用性はわかるのですが ではなくて、細かいですけど if (hoge) { } なのか if (hoge) { } なのか、とか (自分は下の方が好き) int ←ここで改行する?(自分は改行する) hogeHoge() { ・・・ とか。 多分僕の個人的な好みは大昔にやった C (K&R スタイル?) や長く仕事で使っている Perl の影響が強い気がするので、C++ 的にはどうなのかなと。 変数名や関数名は GNU スタイルなのか キャメルスタイルなのか、キャメルスタイルだったら大文字から始めるのか、関数名だけ大文字から始める人もいれば、関数名も小文字からの人もいるし、enum の定数は全部大文字が普通?とか(きりないですorz)・・・ ハンガリアンはもう推奨されてないというのは理解してます。その理由もなんとなく。でもハンドルは hHoge にするのが普通みたいですし、bool型なら is~ とか can~ とか。人によってはグローバル変数にもプレフィックスつけるようですね。他にもそういうこれはプレフィックスつけるのが普通!ってのがあったら知りたいです。僕自身はめっちゃ長くなっても意味が正確にわかる変数名をつけとけ派なので、プレフィックスにはあまり必要性を感じないです。(英文みたいな変数名とか良くやる) でも、 C++ 長くやると多分考え方が変わるかなあと思うので。 とりあえず以下を読んでますが、それほど間違った選択はしていないでしょうか? http://sec.ipa.go.jp/download/dl.php?filename=report/200606/CMGuide_V1-0.pdf http://www.possibility.com/Cpp/CppCodingStandard.html それはもう古い、今はこういう感じが普通、というのがあったら教えていただけると幸いです。(英語でも構いません) 個人で趣味レベルでやるなら、その程度は好きにしてかまわんでしょう、という意見でも OK です。好きにするんでも一貫したいので、どうせなら良いものを参考にしておきたいとは思ってます。(目的のモノを動かすのに数時間もかからなかったのに、そのコードをお行儀よく書き直そうとして数日も定まらずに何度も書き直したり・・・な状態なので。)
- ベストアンサー
- C・C++・C#
- 「ストレスチェック」プログラムの中身と言語について
よろしくお願い致します。 タイトルの通り、最近はじまった「ストレスチェック」で、厚生労働省が配布している無料の「ストレスチェックプログラム」ですが、これはどのようなプログラムなのでしょうか。 □厚生労働省版ストレスチェック実施プログラム https://stresscheck.mhlw.go.jp ・いわゆる、C言語というもので作成されているのでしょうか。 ・どれ程の知識があれば「ストレスチェックプログラム」のようなツールが作れるでしょうか。 よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- ボーランド、ビジュアルCでプログラムを作成、配布しますが、配布先の人た
ボーランド、ビジュアルCでプログラムを作成、配布しますが、配布先の人たちが素人なので、DLLのセッティング等をしないでも使える様にしたいのですが、どうしたら良いでしょうか。 共有RTL DLLを使うに にはチェックを入れていませんが、実行時にDLLが見つからないとのメッセージが出てしまいます。 ビジュアルC関連のDLLは見つからないとは出て来ないので、ビジュアルC関連のDLLは.exeに含まれている様ですが、画像ライブラリー(MIL)関連のDLLを要求して来ます。 宜しくお願い致します。
- ベストアンサー
- C・C++・C#
- vimで違う拡張子のファイルをタグリスト機能を有効にする方法
vimとctagsを使用しています。 C言語でコーディングしている時は、ctagsで生成したtagsでタグリスト(:Tlist)を使用しているのですが、拡張子が一般的なC言語の拡張子(c/h/cpp/c++など)ではない場合も、C言語と同じルールでタグリストを表示させたいのですが、できません。 タグの生成は"ctags --languace-force=C++"でできているようですが、vim側がそのタグを見に行っていないように見えます。 関係ない拡張子でも、C言語のルールでタグリストを表示させる方法があれば、教えていただけませんでしょうか? 環境は以下のとおりです。 solaris7+vim6.3+ctags(たぶん最新版) windowsXP+cygwim+vim6.4+ctags(たぶん最新版)
- ベストアンサー
- C・C++・C#
- Word2007のスタイルセット設定で困っています!
Word2007で(言語は日本語)で文書作成後、<ホームタブ-スタイルグループ-スタイル変更-スタイルセット>を使用設定すると、言語が自動的に英語(米国)に変わってしまいます。 何か設定上の問題があるのでしょうか? もちろん、Wordのオプションの言語設定は日本語となっています。 コンパネの言語設定も日本語です。 Word2007の講習でアウトラインを教えている最中にこの現象が現われました。 スペルチェックが入り、赤の波線だらけになってしまいます。 説明方法に困っています。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- C++Builderプログラム開始エラー
C++Builder6で作成した実行ファイルとdllファイル)とを別のWindows上で動作させようとするとエラーが出ます。共有RTLDLLを使う、実行時パッケージを使って構築の両方に関して、チェックを入れたりはずしたりしていますが、解決しません。 エラーの表示は、「!プログラム開始エラー」のみです。特に、何が配布漏れなのかを知る手段を教えてください。
- ベストアンサー
- C・C++・C#
- QR法について
QR法により,固有値を求めるプログラムを作っています. QR法でqjを求めるときに,rjjの逆数が必要ですが,rjj=0になったとき,うまく求めることができません. このような場合に,どうしたら解決できますか? ちなみに言語はC言語ですが,解決法さえいただければ自力で組むつもりです.「教育」の「数学」のカテゴリか迷いましたが・・・・
- 締切済み
- その他(プログラミング・開発)
- C言語についての英文を訳してください
以下は、Linux Kernel のコーディングスタイルについての英文です。 C言語の中括弧の位置について述べています。 一番最後の段落、 Heretic から後の訳を教えてください。 (それより前の段落はわかるので、訳いらないです。) とくに _right_ がよくわからないです。 前後にアンダースコアをつけて、何を言おうとしているのか、さっぱり。 よろしくおねがいします。 The other issue that always comes up in C styling is the placement of braces. Unlike the indent size, there are few technical reasons to choose one placement strategy over the other, but the preferred way, as shown to us by the prophets Kernighan and Ritchie, is to put the opening brace last on the line, and put the closing brace first, thusly: if (x is true) { we do y } This applies to all non-function statement blocks (if, switch, for, while, do). E.g.: switch (action) { case KOBJ_ADD: return "add"; case KOBJ_REMOVE: return "remove"; case KOBJ_CHANGE: return "change"; default: return NULL; } However, there is one special case, namely functions: they have the opening brace at the beginning of the next line, thus: int function(int x) { body of function } Heretic people all over the world have claimed that this inconsistency is ... well ... inconsistent, but all right-thinking people know that (a) K&R are _right_ and (b) K&R are right. Besides, functions are special anyway (you can't nest them in C).
- ベストアンサー
- 英語
お礼
まさに私が求めていたものの形です。 > Glenford J. Myers著、ソフトウェア・テストの技法、近代科学社、1980 こちらも読ませてもらいます。 どうもありがとうございました。