- 1 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:16:30 ]
- プログラミング言語 D (D Programming Language) について語るスレッドです。
過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://dsource.org/ (dsource) ttp://www.sun-inet.or.jp/~yaneurao/dlang/ ttp://wisdom.sakura.ne.jp/programming/d/
- 360 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 03:10:52 ]
- ("hogahage")Cout;
こうですか><
- 361 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 03:11:59 ]
- 俺もそうおもたw
けどおかしいだろw
- 362 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 03:34:05 ]
- (Cout "hogahage");
じゃあこうですか><
- 363 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 10:42:06 ]
- そして半角ひらがなの復活
- 364 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 17:17:25 ]
- 暇だから上げてみます。
自分用に作ったフレームワークです。 libwindowはライブラリでそっちをなるべくいじらない方向で設計されてます。 WorksMainはライブラリの実装で関数をガリガリ書くことでその目的を遂げます。 このライブラリはウインドウズ専用です。 www9.uploader.jp/dl/sukiyaki/sukiyaki_uljp00003.zip.html
- 365 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 17:37:53 ]
- >>363
ちょ!それスレ違い。 いや、俺もそのスレみてるからわかるんだが。
- 366 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 18:49:23 ]
- >>364
方向性にはげあがるほど同意 lowerCamelはいかが?(参照>>308)
- 367 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 19:55:18 ]
- >>365-366
じゃああえて・・・DFLでよくね?
- 368 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 20:20:35 ]
- >>362
それなんてLisp?
- 369 名前:デフォルトの名無しさん [2007/10/23(火) 21:07:29 ]
- >>366
関数名はキャピタライズを採用して欲しかった俺がいる。 Time now = Now; とかやりたかったのに・・
- 370 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:42:58 ]
- これで諦めてください><;
Time now = Time.now();
- 371 名前:364 mailto:sage [2007/10/23(火) 23:33:54 ]
- www9.uploader.jp/home/sukiyaki/
ここのアップローダはD関係なら自由に使ってください。合計200MBまで入りますから。 っていうか、人のライブラリがどうなってるか気になる!!! そうそう、あとで後悔した時用に削除Passを忘れずに。 で!レスサンクス!! >>366 こういう先頭大文字とかって名前あったんですね。。。 C++辺りからの癖になってるんですけど、次は小文字も検討してみます。 >>367 それ言われるとちょっと弱い。笑 Hにも・・・を見るとTangoだとかvar1系だとかそういうのが良くわからないので使ってないんですけど、 将来的な移植性を考えるとやっぱ習得したいですねぇ。。。
- 372 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:57:44 ]
- 「ひとこぶらくだはひとこぶうんち ふたこぶらくだはふたこぶうんち これはうそ!」
lower/upper camel という字面を見てたら思い出した子供時代のはかない記憶。
- 373 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 12:20:43 ]
- Overload setっていうのでtoStringがかぶらなくなるのかと思ったら
import std.string; class Foo { void bar(char* ptr) { string s = toString(ptr); // std.string.toString(char*)呼んで欲しい // けどObjcet.toStringにマッチしないのでエラー } } ダメなのか。まあstd.conv.toができたからいいけど
- 374 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 13:14:32 ]
- string s = .toString(ptr);
って書けばいいから、できなくても別に不便ではないな
- 375 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 13:29:20 ]
- ExceptionとErrorの使い分けがわかりません><
おしえてくだしあ><
- 376 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 13:31:57 ]
- class Exception;
回復可能な例外は全て Exception クラスから派生すべきです class Error: object.Exception; 回復不可能な例外は Error クラスから派生すべきです
- 377 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 13:33:33 ]
- 回復が可能かそうでないかの区別がつきません><><><
- 378 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 14:57:06 ]
- 例外が回復可能かどうかなんて設計段階で判断できるような。
設計で判断できなくても経験積めばここは復帰無理だなっていうのが直感で分かるように。
- 379 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:35:55 ]
- どの範囲で復帰不能か可能か、って話もあるしな
- 380 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:38:23 ]
- なにがどうなると回復不可能になるの?
- 381 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:46:00 ]
- 回復が不可能になるとだな
- 382 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:58:04 ]
- 場合によりけりでしょ。
タイムアウトなんかで期待される結果が帰ってこなかった場合に、 初期値等のテキトーな値代入して問題なく処理続行できるなら例外、 出来ないならエラーって言う感じでいいんでは。
- 383 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 16:29:31 ]
- 回復不可能だって分かった時点でErrorの子クラスでExceptionをラップして投げなおせばいい。
- 384 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 16:31:01 ]
- にゃる そういう意味なのか
システムがぬっ壊れたりするのかとおもた
- 385 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 18:59:27 ]
- 俺が分類したケース
回復不能 ・root/admin権限が必要なのになかった 回復可能 ・ファイルが見つからなかったが、指定しなおせばよい >>384 最終的にはシステムがぬっ壊れない限りは回復の手段を用意することはできるかと思う
- 386 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 19:01:42 ]
- 処理続行できるような想定範囲内のエラーで例外投げるな。例外は例外的な事態に使用すべき。
……みたいなの(やや極端な言い方だけども)を信じてたんで微妙に慣れない。 多分戻り値でエラー処理みたいな文化が嫌なんだろうけど、効率なんかも考えると回復可能なエラーまで例外ってどうなの? って気がしてしまう。 上みたいな(勝手な)文化を持ってたせいかExceptionに回復可能な、みたいなニュアンスも感じないし。 実際のところDでなんか書いてるときにみんなErrorとException使い分けてるの?
- 387 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 19:10:19 ]
- 俺の考えでは、プログラムの動作自体が危うい場合がError。
それ以外は全部Exception。 たとえば、ファイルをコピーするプログラム、copyを作るときに、 パラメータで指定されたファイルが見つからない場合は、Exception。
- 388 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 19:14:12 ]
- 基本的にException。
拾いたければ拾えばいいじゃん(たいていは回復可能だから) というスタンス。 行列演算で要素数が不適切なときもException(動的に要素数を決められる場合)。 ただし契約違反は実装者が間違ってるからassertするときはErrorが多い。
- 389 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 19:18:20 ]
- >>386
引数、返り値が適切なほうがいいというのはあるかもしれない。 計画の中にpureという仕様が入ってるが、 ああいうのをまじめにやるならエラー処理のために引数や返り値がつぶされるのは好ましくない。
- 390 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 19:21:41 ]
- >>386
> 処理続行できるような想定範囲内のエラーで例外投げるな。例外は例外的な事態に使用すべき。 これは誰の教えなのかkwsk
- 391 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 20:44:55 ]
- 人生のExceptionが発生しました
- 392 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 20:58:52 ]
- >>391
回復可能なのか、よかったな
- 393 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:06:09 ]
- 回復には神権限が必要です
- 394 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:15:29 ]
- 引きこもりでごめんなさい→Exception
生まれてきてごめんなさい→Error ってことか
- 395 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:33:52 ]
- お願い届いて!!私のException!!!
引きこもりでごめんなさい。
- 396 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:49:23 ]
- そろそろ人生のErrorが発生しそうで不安になってきた。
- 397 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:31:15 ]
- Javaみたく「こいつはこーいう例外投げるかもしれんからちゃんと対処しろよ!」ってコンパイラに言われないしなぁ。
意識してErrorを自前で投げたことはないや。 assert違反とか、デバッグモードで埋め込まれる配列境界チェックなんかはErrorか? そんくらい。 あれ? ErrorてExceptionの派生クラスだったのか? つまり「Error is a Exception」「回復不可能は回復可能の一種」 ・・あれ? おかしくないですかカテジナさん!
- 398 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:31:22 ]
- ファイル読み込みルーチンで、開くべきファイルがロックされてたり
ファイルがなかったりしたら、再試行とか考えてException、 そもそもファイルシステムや開くファイルの種類が非対応だったりして なにをどうしようがファイル読み込みは無理、ってなのはError、とか。 ただ、それらを受け取るルーチンでは、たとえば別の読み込みルーチンを 使うとかで、(より大きな枠組みから考えると)復帰可能だったりするかもしれない。 という感じで、回復可能か否かが処理の段階によって変わることに注意して組むと Errorの使い出もあるんじゃなかろうか。
- 399 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:53:29 ]
- Errorがでたのに何事もなくプログラムが動作し続けるってのは、ちょっとおかしいと思う。
それだと正常系に復帰してるじゃん、と。 OutOfMemoryぐらい致命的でないとErrorというのとはちょっと違うと思う。
- 400 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:08:48 ]
- >>399
回復不可能は回復可能がグレードアップ! という考えで
- 401 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:11:16 ]
- つまり、ErrorをExceptionで捕えることができるのはおかしい、と。
Exceptionを派生したErrorってのがおかしいんだよな。 Errorを派生したExceptionとか、ErrorとExceptionはそれぞれ何からも派生してないってのがいいような気がするね。 Tangoみたいに安易に消しちゃうのはどうかとも思うが。
- 402 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:38:26 ]
- >>399
頑張ってメモリ解放して状況解消する頑健なプログラムだってありうるべ メモリ食いつぶしかねないプログラムなら特に。 どんなエラーも何らかの処理がなされる、というのがDの例外機構なわけで、 399的な「絶対に正常系に復帰しない」発想だと、例外もクソもなく強制終了 するしかない状況じゃないとErrorを出さない、という意味のない話になるべ 何が正常動作かは処理の段階によって変わるんじゃね
- 403 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:40:29 ]
- その処理の段階ってちゃんと定義されてるのかな?
今のままだとExceptionとErrorがごっちゃになりそうな悪寒
- 404 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:23:53 ]
- むしろError使ったことないし
必要な場面に出くわしたことがないし これからも使わない気がしている
- 405 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 00:27:56 ]
- そういうのを定義するのが設計だべ
まあそんなまじめなプログラム俺も書いたことないけど
- 406 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 07:11:32 ]
- 2.006にしてみたらinvariant string関係の変更がtonほど出てきた
- 407 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 07:59:27 ]
- invariantのおかげでWin32API使うとき今まで以上にキャスト式書く機会が増えた。それ以外で特に気になるところはなし。
今は2.006でphobosが強化されたという話を聞いてわくわくしてるところ。
- 408 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 08:24:16 ]
- invariant stringとstd.stringの変更を解決してたら、設計の理由がなるほどと……
無駄なコピーを抑えたいという発想をどう実現するかがなんか分かってきた。 variant世界とinvariant世界が分かれてる感じで、 両者の窓口がcast(invariant)やidup、dupといった風情。 in char[]を受け取ってchar[]を返す関数の内部でstd.string関数を使う場合、 入り口でcast invariantして出口でdupすればおk、みたいな。 ただしこの方法だとスレッドセーフには気をつけないとならんので注意かも。
- 409 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 08:55:20 ]
- めぐりめぐって
invariantがなくなって、Cと同じになったりしてな・・・
- 410 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 09:41:42 ]
- 散々こねくり回して出た結論がそれならば、それもまたよし。
- 411 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 09:58:43 ]
- idupの個人的まとめ
・idupは本当にコピーを生成する ・idupしたコピーはGCに回収される idupされた文字列を参照するようなstring(std.string中の関数の返り値など)をいつまでも受け渡し続けると、 いつまでたっても回収されずに残り続けることになるかもしれない。 巨大な文字列から1行だけ取り出すとかした場合はidupして、 巨大なやつをGCに回収してもらいやすくするのは考えられる。 idupは比較的気軽に使えるかなと思う。 長期的に生存する可能性があるプログラムについては知らね
- 412 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:25:51 ]
- ArrayBoundsErrorは回復不可能なんですか?
- 413 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:30:57 ]
- 配列の範囲外に対する不正なアクセスだからエラーなんでは?
そもそもDは配列のサイズがあらかじめ調べられるので、範囲外に対するアクセスは事前に防げるはず。
- 414 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:48:59 ]
- ほんとによく設計されたソフトウェアなら、モジュールがAssertErrorなんか投げてきても
catchして「このモジュールはバグってんな」って切り離て、 さらにそのモジュールに依存する別のモジュールにも通知したりして、 本当にコアなモジュールが生きてる限りは動きつづける、とか作りこむんだろーな。 apacheとかそんな感じになってるのか。Dじゃないけど。 気楽なDの個人アプリじゃそこまでやらんで、 void main(){ try{ myMain(); }catch(Exception e){ outputErrorMessage("ごめんちゃいバグで強制終了します。以下をコピペして送ってくれるとお互い幸せに。", e); } } とかでいいよね? 後は明らかに発生しそうなException(new File(stdin.readLine())とか)くらいは その場でcatchすんの忘れないように気を付けなきゃ、で。 「catchすんの忘れてねぇか? いいのか?」とコンパイラに言ってもらえればなぁ、とも思うけど、 そうなるとErrorとExceptionの違いが問題になってくる感じ。
- 415 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 10:55:20 ]
- もしかして関数呼び出すたびにtry-catch書くのが普通なのか
- 416 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:12:43 ]
- default: を書き忘れて例外出されたときはかなりビビッた。
何でswitchが例外投げるの!?って。
- 417 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:14:23 ]
- >>415
俺は!の話だけどさ、基本的に例外投げないな。だから、ほとんどtry構文使わない。
- 418 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:54:01 ]
- D言語で作られたアプリで参考になるのねーの?
- 419 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 13:10:04 ]
- >>415
それは普通、ではなく理想
- 420 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 13:45:58 ]
- 回復可能なもので例外投げるのは速度が・・・
- 421 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 13:52:39 ]
- 通常の実行ロジック部分のパフォーマンスが重要
例外時に速度重視?
- 422 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 14:13:54 ]
- ああ、なるほど。勘違いしてた
- 423 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 15:10:24 ]
- >>419
Cで関数呼び出しごとにエラーコードをチェックしてエラーコード返して・・・ってやるよりも 遥かにぐちゃぐちゃなコードが出来上がるだけな気がするのだけど。 それを無くして「正常な実行パス」だけを簡潔に書くための構造化例外やん?
- 424 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 16:07:23 ]
- >>423
分かっててもときどき変なことやっちゃうんだよね 特にC++とかJavaでね try〜catchはmainだけで充分なのかも知れない
- 425 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 16:35:20 ]
- >>423
すべての例外はどこかの階層で拾って、プログラムが適切に復旧するようにするのが理想。 別に、一関数ごとにtryで囲む必要はない。
- 426 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:13:59 ]
- in, body, outをはじめて使ってみたお^^
しかしenum/invariant structのような型で制限してしたほうが書くのは面倒だけど使えるお-_-;
- 427 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 20:35:06 ]
- >>426
でもoutとかで「戻り値にnullは絶対返さないよ!」とかassertしてあると使うのもコード読むのも安心するお^^ でも型だけで事足りるならちゃんと型設計してるってことだし偉いお^^
- 428 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 20:59:06 ]
- in/out/bodyってコード読むとき邪魔っぽくない?
- 429 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:05:16 ]
- ちょっとインデントに悩んだことはあった
- 430 名前:デフォルトの名無しさん [2007/10/25(木) 21:23:49 ]
- void hoge() in { assert(文); } body
{ // 処理 } みたいに書いたり・・・? in と out を関数内部に書きたかったりする・・・ void hoge() { in{ assert(文); } out{ assert(文); } } あ、でもこれなら普通の scope 文でいいのか・・・?
- 431 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:34:33 ]
- 公式の書き方は
ttp://www.digitalmars.com/d/dbc.html 中括弧を改行しないでくっつける派の俺としてはちょっと冗長に見える。 けどまあこれくらい改行するのもぱっと見わかりやすいのかな。
- 432 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 22:58:35 ]
- 中かっこを開業しないでくっつける派の俺としても悩んだけど
void func() in{ assert(...); } out{ assert(...) } body{ ... } って感じにして妥協してみてる… この辺もコーディング規則で一応の指標があるといいのだけど…(宗教戦争勃発しそうな気もするけど)
- 433 名前:431 mailto:sage [2007/10/25(木) 23:12:09 ]
- >>432
偉いなw 俺なんか void func() in { } out { } body { } さえ正直捨てきれない。
- 434 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 23:18:23 ]
- 自分はオールマンスタイルが気に入ってる
- 435 名前:430 [2007/10/25(木) 23:41:01 ]
- 自分もオールマンスタイル派なんだけど、公式の書き方は見難いと
感じてしまう。慣れの問題なのかもだけど。
- 436 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 01:14:24 ]
- if (test) {
... } else { ... } これってやめたほうがいいのかな
- 437 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 01:33:44 ]
- begin
rescue ensure end
- 438 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 01:42:40 ]
- オライリーのPL/SQL本だかどっかで
void func(){ hoge(); } こうあるべきだと力説されて妙に同意してしまって以来、 どうしてもfunc()と"{"が同じ行にいられないと落ち着かなくて困る。 >>430は俺にとっても抗えぬ誘惑だ・・・ 太古より語り継がれる伝説の「IDE」がいつか完成して普及すれば、 inとoutは普段は折り畳まれて「contractあるよー」的マークに収まり、 そこにマウスオーバーするとin/outのコードがポップアップで表示され・・・とか実装されるに違いない。 時を待つのじゃ・・・さすれば泣く日は来ぬ・・・
- 439 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 02:13:15 ]
- イデ・・・オン・・・
- 440 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 09:13:09 ]
- 定数を引数とする三角関数のコンパイル時計算をオフにしたいときがあるわけだが、どうしたもんかな
ちょいと考えてみる
- 441 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:12:13 ]
- >440
なにゆえ?
- 442 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 12:07:22 ]
- >>436
俺もそのスタイルで書いてるよ。 ifブロックとelseブロックがきれいに分離してるのが気持ちいいよね。
- 443 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:26:54 ]
- >>441
コンパイル時に決定できるループでsinが山ほどあったときにコンパイルが遅くなっていたんですが、今見たら大丈夫になっていました。 勘違いかもしれませんが、再発して条件が再現できそうならまた報告します。
- 444 名前:デフォルトの名無しさん mailto:sage 是非職場で開くように [2007/10/26(金) 17:38:52 ]
- >>372
camelがどうのという話題で俺はこれを思い出す。 images.google.co.jp/images?hl=ja&lr=&oe=UTF-8&um=1&q=camel%20toe&ie=UTF-8&sa=N
- 445 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 17:44:36 ]
- グロ注意
- 446 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:33:15 ]
- >>442
IDEでコメントつける場合にずれるのが困りもの // ほげほげが見付からなかった場合はエラー else { put_error_log("hogehoge not found."); }
- 447 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:04:44 ]
- >>442
ですよね! つーかこの書き方どこで覚えたか忘れたんだけど。 あと、コメント書くとき if (test) { // ほげほげなら ... } ってなってるけどこれもやめたほうがいいかなwww 関数書くときは /// ほげほげする void func() { ... } こうなるからびみょうに統一されてなくね??とか思ってしまう
- 448 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:29:12 ]
- キミの好きにしたらええ
- 449 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:31:14 ]
- そこらへんのコーディング規則とか字下げスタイルなんかをk.inabaタンに定義してほしいw
- 450 名前:442 mailto:sage [2007/10/26(金) 23:42:52 ]
- ifのコメントは
//ほげほげ if (test) { ... } //はげはげ else if(test2){ ... } //その他 else{ ... } ってしてる。 関数は ///ほげほげする void func() { ... }
- 451 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:59:19 ]
- コメントは書かない
- 452 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:18:16 ]
- >>451
ちょwww
- 453 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:18:53 ]
- ソースがドキュメント
- 454 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:23:05 ]
- 俺は、関数の説明は書くけど、if文にはコメントつけないな。
大抵は条件式見れば何してるか分かるし、 ぱっとみて何を比較してるかわからないほど複雑になったら関数化する。 仕事なら仕方ないから規則通りにどんな馬鹿らしいコメントでも書くけど。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:25:00 ]
- 極力コメントつけない方向で行ってみようと思う
- 456 名前:デフォルトの名無しさん [2007/10/27(土) 00:28:41 ]
- D2.006
フィールドのプロパティ.offsetofが class Foo { int x; } ... void test(Foo foo) { size_t o; o = Foo.x.offsetof; //error o = foo.x.offsetof; //ok } になってるけど、これって仕様が変わったの?
- 457 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:30:50 ]
- >>456
>>176-177
- 458 名前:デフォルトの名無しさん [2007/10/27(土) 00:33:26 ]
- >>457
バグっぽいのか。さんくす。
- 459 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:34:20 ]
- いつものことだが誰か報告したのか?
- 460 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:00:53 ]
- 最近D言語ってのを知ったんだが
今のとこ、これ!っていうIDEはないのかな? Poseidon?C::B?Descent?
|

|