アカウント名:
パスワード:
元ツイートの案件、よりによってC++らしいから。もっと手軽な言語をあえて使わなかった理由もありそうで、そんなモノの解析って、かなり難易度高そうな気がする。
C++っていっても、++部分の機能をガッツリつかったコードと、++部分の機能はほとんど使わず、C言語で済むところをC++にしただけみたいなコードがあるからな
両者が混在して地獄のようになったコードだったり…
// このコメントを変更すると何故か動かなくなる
なんかの未定義動作とかにハマってるとして実際コメントが動作に影響することってあるのかしら
ShiftJISのファイルなら特定の漢字(能とか)がコメント末尾にあると、文字コードの関係で次の行もコメントアウトされてしまう現象が起きる。C/C++プロジェクトあるあるだったな。
むしろ、コードを入れた理由を拙いながらも、頑張って書こうと思っているだけ好感がもてる。
「念のため」というコメント(そしてその処理は無意味)だけだったり「○○を実行」というコメントだったりどこからかコピペしてきたのか、検索の処理なのに「○○を削除」とか書いてたり
そもそも人の書いたコメントなぞ信用したことがない
うちの新人の子、そういう方針なのか知らんが、
// ここから先はxxxxという理由でこうしているから直すならyyyyも直せ
と書いてある次の行を1行だけ直して「できましたー」とレビュー依頼投げてくるぞ。意味のあるコメント残してやってんだからまず読め。
sradに文句を書くより、「知らんが」で済ませるよりその新人の子に理由を聞いた方が良いと思うよ。
コメントが玉石混交でどれが読む価値があるのかわからないのかもしれない。
//急な仕様変更で時間が無いからここで治す。次に治すときは大本の〇〇や△△から治す事。
ってコメントがネストしてたりするのを見た時は寒気を感じた。
i++; //iに1を足す
意味のあるコメントだよ。コメントだけを読んでロジックを把握したい派もいるから。
忘れるなC++だぜそしてコメントが間違っている可能性も考慮しないとiが数値ならいいけどクラスだったらインクリメントがオーバーロードされてるかもしかも後置インクリメントなのが嫌な予感前置と後置が同じ実装になってますテヘペロなら可愛い方で値返却用の一時オブジェクトの生成と破棄にやたらコストかかってて、前置に置き換えるだけでパフォーマンス改善する案件かもと思うのは早計で実はその際の副作用に依存した挙動になってる罠かも(いろいろトラウマ発動)
そんなくだらないことをする前に、コードに可読性を持たせろよw
じゃあ変数名、メソッド名、クラス名を日本語でつけるようにするね
変にローマ字で書いたりせずに、ちゃんと漢字と仮名を使えよ
実はC++/CLIで、それ独自のコードも追加されていたり、
WindowsだとC++しか使えない場合もあったのね。そして、いま私はMFCからC#への移植をやってる最中ですよ。
いや、VC++とANSIのC++は別物と考えた方が作業は捗るぞ
当時はC++が最先端だったからな。VBが重宝がられた気持ちはよくわかるMFCが出る前はウィンドウ一つ用意するのも大変だったよ
VCの話ならCでも書けましたよ。デフォルトが.cppでしたけど.cで作った方が実行ファイルのサイズが小さくなるので、特に理由がなければ皆さん.cで作ってたんじゃないかなぁ。
perlじゃないんだ。
perl なら書き方がTMTOWTDIであっても難なく読めるから便利だよね。エスペラントのプログラミング言語版。(それが気に入らない層が一定数いるのも理解できるけど。)
今に比べて、昔はマシンの性能が低くて、C++を使わないとまともな性能が出ない場合が多かったんだよ。今でも組み込みとか制御系のプログラムは、CとC++で書かれる場合が割とある。アセンブラも現役だ。
速度が欲しけりゃ、現実的には今でもC++/アセンブラしかないよね。他にも選択肢はあるけど、例えばRustで書いたものをメンテしようと思ったらもっと特殊な人材が必要で費用も高くつく。
オフトピだが: 人気の出る言語はどれも優秀で、その気になれば、C/C++へのトランスパイラを書くことも可能なはずだが、優秀なライブラリがセット、っていう言語は、それをまるまる向こうに持って行けるとは限らない。Cは下手をすると文字列の始末すら単体では難しいが、最悪、標準ライブラリなしっていう書き方すら可能。引き換えに、デスクトップ プロジェクトなどでは、どこにいっても、多少なりとも自社用車輪がついてくる。
低レベルぶったたくときゃ、覇王翔吼拳、もといC/C++を使わざるを得ない時だってあるのさ。
asm volatileによって実質アセンブリで書かれているC--よりは良いじゃろ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
よりによって (スコア:3)
元ツイートの案件、よりによってC++らしいから。
もっと手軽な言語をあえて使わなかった理由もありそうで、そんなモノの解析って、かなり難易度高そうな気がする。
Re: (スコア:0)
C++っていっても、++部分の機能をガッツリつかったコードと、
++部分の機能はほとんど使わず、C言語で済むところをC++にしただけみたいなコードがあるからな
Re:よりによって (スコア:1)
両者が混在して地獄のようになったコードだったり…
Re:よりによって (スコア:2)
Re: (スコア:0)
// このコメントを変更すると何故か動かなくなる
Re: (スコア:0)
なんかの未定義動作とかにハマってるとして実際コメントが動作に影響することってあるのかしら
Re:よりによって (スコア:2)
最適化すると書いて有るとおりの動作しなくなることも有るし
Re: (スコア:0)
ShiftJISのファイルなら特定の漢字(能とか)がコメント末尾にあると、文字コードの関係で次の行もコメントアウトされてしまう現象が起きる。
C/C++プロジェクトあるあるだったな。
Re: (スコア:0)
むしろ、コードを入れた理由を拙いながらも、
頑張って書こうと思っているだけ好感がもてる。
「念のため」というコメント(そしてその処理は無意味)だけだったり
「○○を実行」というコメントだったり
どこからかコピペしてきたのか、検索の処理なのに「○○を削除」とか書いてたり
Re: (スコア:0)
そもそも人の書いたコメントなぞ信用したことがない
Re: (スコア:0)
うちの新人の子、そういう方針なのか知らんが、
// ここから先はxxxxという理由でこうしているから直すならyyyyも直せ
と書いてある次の行を1行だけ直して「できましたー」とレビュー依頼投げてくるぞ。
意味のあるコメント残してやってんだからまず読め。
Re: (スコア:0)
sradに文句を書くより、「知らんが」で済ませるより
その新人の子に理由を聞いた方が良いと思うよ。
コメントが玉石混交でどれが読む価値があるのか
わからないのかもしれない。
Re: (スコア:0)
//急な仕様変更で時間が無いからここで治す。次に治すときは大本の〇〇や△△から治す事。
ってコメントがネストしてたりするのを見た時は寒気を感じた。
Re: (スコア:0)
i++; //iに1を足す
Re: (スコア:0)
意味のあるコメントだよ。
コメントだけを読んでロジックを把握したい派もいるから。
Re:よりによって (スコア:3, おもしろおかしい)
忘れるなC++だぜ
そしてコメントが間違っている可能性も考慮しないと
iが数値ならいいけどクラスだったらインクリメントがオーバーロードされてるかも
しかも後置インクリメントなのが嫌な予感
前置と後置が同じ実装になってますテヘペロなら可愛い方で
値返却用の一時オブジェクトの生成と破棄にやたらコストかかってて、前置に置き換えるだけでパフォーマンス改善する案件かも
と思うのは早計で実はその際の副作用に依存した挙動になってる罠かも
(いろいろトラウマ発動)
Re: (スコア:0)
そんなくだらないことをする前に、コードに可読性を持たせろよw
Re:よりによって (スコア:1)
じゃあ変数名、メソッド名、クラス名を日本語でつけるようにするね
Re: (スコア:0)
変にローマ字で書いたりせずに、ちゃんと漢字と仮名を使えよ
Re: (スコア:0)
実はC++/CLIで、それ独自のコードも追加されていたり、
Re:よりによって (スコア:1)
Re: (スコア:0)
WindowsだとC++しか使えない場合もあったのね。
そして、いま私はMFCからC#への移植をやってる最中ですよ。
Re:よりによって (スコア:1)
いや、VC++とANSIのC++は別物と考えた方が作業は捗るぞ
Re: (スコア:0)
当時はC++が最先端だったからな。VBが重宝がられた気持ちはよくわかる
MFCが出る前はウィンドウ一つ用意するのも大変だったよ
Re: (スコア:0)
VCの話ならCでも書けましたよ。
デフォルトが.cppでしたけど.cで作った方が実行ファイルのサイズが小さくなるので、特に理由がなければ皆さん.cで作ってたんじゃないかなぁ。
Re: (スコア:0)
perlじゃないんだ。
Re: (スコア:0)
perl なら書き方がTMTOWTDIであっても難なく読めるから便利だよね。エスペラントのプログラミング言語版。
(それが気に入らない層が一定数いるのも理解できるけど。)
Re: (スコア:0)
今に比べて、昔はマシンの性能が低くて、C++を使わないとまともな性能が出ない場合が多かったんだよ。
今でも組み込みとか制御系のプログラムは、CとC++で書かれる場合が割とある。アセンブラも現役だ。
Re:よりによって (スコア:1)
Re: (スコア:0)
速度が欲しけりゃ、現実的には今でもC++/アセンブラしかないよね。
他にも選択肢はあるけど、例えばRustで書いたものをメンテしようと思ったらもっと特殊な人材が必要で費用も高くつく。
Re: (スコア:0)
オフトピだが: 人気の出る言語はどれも優秀で、その気になれば、C/C++へのトランスパイラを書くことも可能なはずだが、
優秀なライブラリがセット、っていう言語は、それをまるまる向こうに持って行けるとは限らない。
Cは下手をすると文字列の始末すら単体では難しいが、最悪、標準ライブラリなしっていう書き方すら可能。
引き換えに、デスクトップ プロジェクトなどでは、どこにいっても、多少なりとも自社用車輪がついてくる。
Re: (スコア:0)
低レベルぶったたくときゃ、覇王翔吼拳、もといC/C++を使わざるを得ない時だってあるのさ。
Re: (スコア:0)
asm volatileによって実質アセンブリで書かれているC--よりは良いじゃろ。