- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 751 名前:仕様書無しさん [2007/10/07(日) 07:16:38 ]
- > 解放後の0割り当てなんてコード全体で徹底するのか?
逆に delete して NULL 入れてないやつはぶっ殺したくなる
- 752 名前:仕様書無しさん mailto:sage [2007/10/07(日) 08:29:44 ]
- 自所持ポインタをNULLにしたところで
その参照先を他のやつもポインタで参照してたら・・・・そっちが自動でNULLになってくれるわけじゃないから NULL当てはめて安心するなんて無意味っちゃ無意味
- 753 名前:仕様書無しさん mailto:sage [2007/10/07(日) 09:22:50 ]
- 意味不明。
自ポインタで必要なくなった参照先は、他のやつでも必要なくなるって決め付けてるのか? そんなもん、プログラムのロジックによりけりだと思うが。他では保持する必要があるかもしれないし。 NULL当てはめて安心したいのは、処理が他の参照先に移ってるのに自ポインタが保持してるせいで 誤ってアクセスするというようなことを起こさないための防衛策もあるだろ。 「この会社辞めようと思った」の90%くらいは真実だと思うが、10%くらいは「辞めようと思った」奴の レベルが低すぎるんじゃないかと思うことがある。
- 754 名前:仕様書無しさん mailto:sage [2007/10/07(日) 09:53:34 ]
- 言ってることが全然分からんな。
よほど内部・詳細設計が腐っていると見える。
- 755 名前:仕様書無しさん mailto:sage [2007/10/07(日) 10:57:20 ]
- >>751
そんなことするのヘタクソだけだろ。
- 756 名前:仕様書無しさん mailto:sage [2007/10/07(日) 10:59:49 ]
- Javaで、1000行以上のメソッド(この時点でどうかとおもうが)を抜ける時に
一々オブジェクトにnullを入れて片付けているのを見たとき。 そんなどうでもいい気を使う前に、そのくそ長いメソッドを見直せと。
- 757 名前:仕様書無しさん mailto:sage [2007/10/07(日) 11:07:22 ]
- Javaは変数スコープ明確にしてGCに任せるだけだから楽だな
- 758 名前:仕様書無しさん mailto:sage [2007/10/07(日) 12:32:51 ]
- gcなんて訳の分からんもんによくお任せできるな
お前は通りすがりのオヤジに家の留守番を頼めるのか?
- 759 名前:仕様書無しさん mailto:sage [2007/10/07(日) 12:40:28 ]
- いや、javaは別にgc依存でいいんじゃないか?
そういう言語なんだし。
- 760 名前:仕様書無しさん mailto:sage [2007/10/07(日) 12:50:25 ]
- >>753
deleteした場合の話だろ?
- 761 名前:仕様書無しさん mailto:sage [2007/10/07(日) 13:00:12 ]
- 同じアドレスを共有しているポインタがあるのに delete するって
それだけで重大な設計ミスだな 所有権移行なら、delete せずに権限渡して 自分のポインタは NULL 設定とかする(auto_ptr がこうなってるな)し、 複製ならオブジェクトのコピーするだろ、普通 複数箇所で共有するなら、いいからスマートポインタ使っとけって話だし
- 762 名前:仕様書無しさん mailto:sage [2007/10/07(日) 13:06:13 ]
- >>757
スマートポインタも使わないのか? 参照カウンタだって立派なGCだが。
- 763 名前:仕様書無しさん mailto:sage [2007/10/07(日) 13:13:28 ]
- >>758
それを言い始めたらコンパイラも実行環境も何もかも信用できなくなるよ
- 764 名前:仕様書無しさん [2007/10/07(日) 13:42:04 ]
- ぬるぽ
- 765 名前:仕様書無しさん mailto:sage [2007/10/07(日) 13:48:08 ]
- お前らはデンマークの2流都市出身の禿や
カナダの糞田舎で育ったキモいオッサンの作った言語なんて信用できるのか?
- 766 名前:仕様書無しさん mailto:sage [2007/10/07(日) 14:02:00 ]
- malloc/freeのペアを使っていた時代は、freeの後にNULLは設定していたなー
論理的な異常処理とかでやむを得ず処理を終了する場合は、 ポインタ参照用変数がNULLじゃなけりゃ取りあえずfreeしまくってexitしていた。 まぁ、三つ子の魂百までじゃないけど、たまにそうコーディングして苦笑する事が最近はある。
- 767 名前:仕様書無しさん mailto:sage [2007/10/07(日) 14:07:25 ]
- 最初に疑うべきはいつの時代でも自分のコーディングだけどな!
- 768 名前:仕様書無しさん mailto:sage [2007/10/07(日) 14:34:45 ]
- ポインタをNULLクリアしなきゃならないコードの書き方を疑え。
- 769 名前:仕様書無しさん mailto:sage [2007/10/07(日) 15:01:04 ]
- >>763
どんなコンパイラも実行環境も最初は通りすがりのおっさん程度の信頼性しかないものだ。 それが大勢に使われて、もまれて、信頼できる警察官になるんだよ。
- 770 名前:仕様書無しさん mailto:sage [2007/10/07(日) 16:00:39 ]
- いまどき C++ で自分で delete 書いてる時点で何かおかしいと疑ったほうがいい。
std::auto_ptr, boost::scoped_ptr, boost::shared_ptr で全部済ませとけ。
- 771 名前:仕様書無しさん mailto:sage [2007/10/07(日) 16:12:58 ]
- boost の利用は標準に取り込まれてから考える
- 772 名前:仕様書無しさん mailto:sage [2007/10/07(日) 16:52:43 ]
- std::auto_ptr を delete 書くのを省くためだけに使うんだったら帯に短し襷に長しだな
- 773 名前:仕様書無しさん mailto:sage [2007/10/07(日) 17:17:30 ]
- >>772
へ?その目的で使ったら十分だと思うよ。 本人の意思とは関係なく例外安全性が付いてきたりするけど、別に余計なもんじゃないし。
- 774 名前:仕様書無しさん mailto:sage [2007/10/07(日) 17:32:33 ]
- まぁでもエラー処理とか例外安全とか一切考慮してないような自作スマートポインタクラスを使うのもなぁ〜
- 775 名前:仕様書無しさん mailto:sage [2007/10/07(日) 17:33:38 ]
- 普段ウォシュレットを使い慣れている奴はたまに駅の便所で拭かずにパンツを上げるらしい。
もしくは美味く拭けずに手にウンコ付けまくりんぐとか。 一番多いのが、ちゃんと拭いて流したつもりでも毛に残ったウンコでパンツが黄色いとかだな。
- 776 名前:仕様書無しさん mailto:sage [2007/10/07(日) 17:57:15 ]
- エクセルが信用できないので計算機で出した値を手入力してます
GCが信用できないので(ry
- 777 名前:仕様書無しさん mailto:sage [2007/10/07(日) 18:12:18 ]
- GCはいつインスタンスが破棄されるか分からんのでデストラクタ使い辛いのがなぁ・・・
- 778 名前:仕様書無しさん [2007/10/07(日) 18:33:56 ]
- ところでここはいつから"この会社辞めようと思った自分の一言"スレになったのですか?
- 779 名前:仕様書無しさん [2007/10/07(日) 18:41:25 ]
- >>778
知るか。どうでもいい事書くな!ヴぉけ
- 780 名前:仕様書無しさん mailto:sage [2007/10/07(日) 18:41:26 ]
- javaやC#も、スコープ抜けたら、デストラクタ(相当)がコールされる仕組みを作ってくれたらいいのに。
メモリ以外のリソースの開放がかえってめんどくさくなったな。
- 781 名前:仕様書無しさん mailto:sage [2007/10/07(日) 18:41:49 ]
- 1メソッドだらだら1000行とか書くやつは害虫としか思えん。
自分が辞めるよりそいつを駆除したほうがいいだろ普通。
- 782 名前:仕様書無しさん [2007/10/07(日) 18:51:41 ]
- >>780
javaならファイナライザがあるよ
- 783 名前:782 mailto:sage [2007/10/07(日) 18:52:39 ]
- と思ったけど動くタイミングが微妙だな
- 784 名前:仕様書無しさん [2007/10/07(日) 19:52:52 ]
- C++/CLIを使えばいいじゃない
- 785 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:00:32 ]
- >>775
普通はウンコ吹いてからウォシュレット使うでしょ
- 786 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:01:12 ]
- >>780
C#のusingでスコープ囲む奴じゃダメ?
- 787 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:04:38 ]
- >>785
最初にウォシュレットで残留物を洗い流してから、 紙に色が付かなくなるまでふきふきしてる。
- 788 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:13:15 ]
- >>786
usingでもいいけど、開放したいのが複数あったらネストが深くなるからね。 using (IDbConnection conn = new ・・・) { conn.Open(); using (IDbCommand cmd = conn.CreateCommand()) { cmd.CommandText = "・・・"; uding (IDbDataRedader reader = cmd.Execute・・・) { while (reader.Next()) { ・・・ } } } } C++/CLI や D みたいにやれたらいいのに。
- 789 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:15:33 ]
- >>787
それだと横に飛び散る様な気がするから俺は、>>785派
- 790 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:33:57 ]
- >>788
順序は無視して、単純に開放したいのが複数あるときは using( ... ) using( ... ) {} って出来たと思う。的外してたらすまんす。
- 791 名前:仕様書無しさん mailto:sage [2007/10/07(日) 20:58:01 ]
- exit(-1);
- 792 名前:仕様書無しさん mailto:sage [2007/10/07(日) 22:11:26 ]
- >>777
デストラクタは破棄される自分自身が保持してるものをアボンヌする「のみ」・・・のはずだから まぁタイミングなんて別にいいじゃん・・・・。いや実際処理入れられるけど、出来るけれど
- 793 名前:仕様書無しさん mailto:sage [2007/10/08(月) 00:04:26 ]
- 自分の持っているもののみを開放するのみとは言え、
class CFile { public: CFile() : m_fileptr(NULL) { } ~CFile() { Close(); } // まさに開放するのみ bool OpenForRead(const std::string &path); bool OpenForReadWrite(const std::string &path); void Close(); private: FILE *m_fileptr; }; CFile *file = new CFile(); file.OpenForReadWrite("/tmp/hoge"); // ここで GC の対象になったとして CFile *file = new CFile(); file.OpenForRead("/tmp/hoge"); OpenForReadWrite, OpenForRead は Reader-Writer Lock で flock かかるとして、 OpenForRead が成功するか失敗するかわからん、 というのが悩みどころなのでは。 いや、この場合は明示的に Close してやればいいんだけど。 # C/C++ しかわからんので C++ + GC という謎の物体でスマン
- 794 名前:仕様書無しさん mailto:sage [2007/10/08(月) 00:16:00 ]
- 実処理の発動はともかく破棄権を与えるタイミングは把握できるはずだから問題ない・・・と思うんだけど
- 795 名前:仕様書無しさん mailto:sage [2007/10/08(月) 03:43:17 ]
- ># C/C++ しかわからんので C++ + GC という謎の物体でスマン
途中まで読んで、最近はgc付きのC++なんてのがあるのかと思ったぞ
- 796 名前:仕様書無しさん [2007/10/08(月) 03:54:21 ]
- // cnt が 0 より大きかったら処理する
if (cnt > 0) { }
- 797 名前:仕様書無しさん mailto:sage [2007/10/08(月) 04:00:34 ]
- if (cunt < dick) {
// や〜ん、こわれちゃう! }
- 798 名前:仕様書無しさん mailto:sage [2007/10/08(月) 05:34:57 ]
- デバックの結果、不等号の向きが逆、ってのはよくある話で
- 799 名前:仕様書無しさん mailto:sage [2007/10/08(月) 07:00:58 ]
- // 余計な物がありますよ
if( a < 20 ); { return hogehoge.detteiu( pero-n, a ); }
- 800 名前:仕様書無しさん mailto:sage [2007/10/08(月) 09:40:32 ]
- >>796
見りゃわかるから、そんなコメントいらね!ってこと? もしくは、 0 < cnt のほうが見やすいだろ!ってことか?
- 801 名前:仕様書無しさん mailto:sage [2007/10/08(月) 11:29:35 ]
- >>800
そんなこともわからんのも まずいと思う。
- 802 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:07:32 ]
- >>gc付きのC++
C++/CLI でもこれはやるのかな?
- 803 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:16:56 ]
- >>801
や、すまん。俺も悩んだ。
- 804 名前:仕様書無しさん [2007/10/08(月) 12:21:43 ]
- if (cnt > 0) {
} 何の問題もないだろ、 おれもこう書くが?
- 805 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:26:31 ]
- ネタはコメントの方だろ
- 806 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:29:42 ]
- 俺の部署のコーディングルールだと直値は禁止なので0じゃなくて
if(cnt > (int)NUMBER_ZERO){ } とかにしないといけない。
- 807 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:31:03 ]
- > NUMBER_ZERO
- 808 名前:仕様書無しさん [2007/10/08(月) 12:31:41 ]
- > if(cnt > (int)NUMBER_ZERO){
> } > とかにしないといけない。 まったく意味無しのウザイルールだな。 仕様が変わって 1 より大きくなったら、 if(cnt > (int)NUMBER_ONE){ } ってすべて書き直すんだな。 あほだ
- 809 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:33:12 ]
- 古典的な誤りだな
- 810 名前:仕様書無しさん [2007/10/08(月) 12:37:36 ]
- 別にいいんだけど、NUMBER_ONEとかってセンスないっていうか、
ちょっとウケるな。 そもそもそこを閾値として、THRESHOLDなんたらとかにしておけば、仕様が変わった場合、 その定数の定義を変えるだけでいいが、NUMBER_ZEROだったら、 結局全部探して直さなきゃならないから、全く意味ないと思うが。
- 811 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:22:51 ]
- > 仕様が変わって 1 より大きくなったら、
いやーこうじゃないか? #if 0 #define NUMBER_ZERO 0 #endif /* 2007/10/08 nanasi808 */ #define NUMBER_ZERO 1
- 812 名前:仕様書無しさん [2007/10/08(月) 13:34:14 ]
- #if 0
#define NUMBER_ZERO 0 #endif /* 2008/10/08 洋司 */ #define NUMBER_ZERO 1
- 813 名前:仕様書無しさん [2007/10/08(月) 13:35:56 ]
- >>811
定数名と内容が一致してないだろ。 ダメダメなコードの典型だと思うぞ。
- 814 名前:仕様書無しさん [2007/10/08(月) 13:38:30 ]
- #if 0
#define NUMBER_ZERO 0 /* 2008/10/08 洋司 */ #define NUMBER_ZERO 1 /* 2009/10/08 洋司 */ #define NUMBER_ZERO 2 /* 2010/10/08 洋司 */ #define NUMBER_ZERO 3 #endif /* 2011/10/08 洋司 */ #define NUMBER_ZERO 4
- 815 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:39:10 ]
- #defineでてきたか・・・、そんなことで#define使うなよ
その部分のソースのみを見て名前から動きが理解できないじゃないか・・・
- 816 名前:仕様書無しさん [2007/10/08(月) 13:40:25 ]
- 洋司うるさいw
- 817 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:44:01 ]
- 洋司はもうちょっと検討段階で頑張れよw
- 818 名前:仕様書無しさん [2007/10/08(月) 13:46:51 ]
- #if 0
#define NUMBER_ZERO 0 /* 2008/10/08 洋司 35歳*/ #define NUMBER_ZERO 1 /* 2009/10/08 洋司 36歳*/ #define NUMBER_ZERO 2 /* 2010/10/08 洋司 37歳、リストラされる*/ #define NUMBER_ZERO 3 #endif /* 2011/10/08 陳姪用 */ #define NUMBER_ZERO 4
- 819 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:48:28 ]
- そういうところは仕様は絶対かわなんないんだよ。
もしNUMBER_ZERO で定義してるんだったらNUMBER_ONEってのもどっかにあるだろうし。 よほど変なコーディングでない限り、その部分が24になったり10456になったりとか することはないよ。変わる仕様だったら別な名前でちゃんと定義してるだろ。 自分も>>808と似たようなところだが、 どんな数字も全部そう書くようにする規約があるからわかるんだが 1回しか登場しなくてどうやったって誰が書いてもどんなに仕様が変わっても そこだけは必ず0から始まるようなものって結構あるんだよ。 たとえばゼロ割を回避するためだったり。
- 820 名前:仕様書無しさん [2007/10/08(月) 13:49:01 ]
- 引き継ぎcomplete!!
- 821 名前:仕様書無しさん [2007/10/08(月) 13:49:36 ]
- >>819
うまいことまとまった。サンクス
- 822 名前:仕様書無しさん [2007/10/08(月) 13:50:52 ]
- >>819
元の書き込みはそうだろうが、俺らが文句言っているのは>>808に対してなので、 その辺、勘違いしないでよね!!
- 823 名前:仕様書無しさん [2007/10/08(月) 13:52:10 ]
- >>822
>>808 も >>819 も同じ事いってるだろ、ヴぉけ お前は洋司レベルだな
- 824 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:53:59 ]
- >>819
NUMBER_ZEROってのが一般的に利用するcommon的なソースであって絶対に変化のない物なら理解できる だが、そのシステムに特化したソース内では利用すべきじゃないと思う それならば別の名前を付けることもできるだろうし、ゼロってのは数字であって名称ではないし
- 825 名前:仕様書無しさん [2007/10/08(月) 13:54:40 ]
- >>823
褒め言葉として受け取っておこう!!
- 826 名前:仕様書無しさん [2007/10/08(月) 13:55:21 ]
- おれは洋司とは仕事したくないぞ
- 827 名前:仕様書無しさん [2007/10/08(月) 13:56:00 ]
- >>824
そうだね。 そのゼロがなんなのか分かる名前なら意味あるけど、 ただNUMBER_ZEROじゃ、打つのが面倒なだけで、0って直書きするのと変わらない。
- 828 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:20:27 ]
- しかし、これがNUMBER_ZEROでなく(int)NULLだとさらに混沌の度が増す……
- 829 名前:仕様書無しさん [2007/10/08(月) 14:30:39 ]
- 「FIVEは5か?」は昔からある教訓で、
>>819の考えは適切ではない。
- 830 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:43:47 ]
- 定数ゼロを使う場合なんて大半は
マクロ定義改変でゼロ以外に変更してコードの理屈が通るとは考えられないしなぁ 必要かどうか、なら要らないわな
- 831 名前:811 mailto:sage [2007/10/08(月) 14:44:24 ]
- 完全にネタのつもりで書いたのに。マジレスしてるやつは議論の余地があるとでも思ってるのか?恐ろしい。
- 832 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:45:08 ]
- NUMBER_ZERO
この名前に誰も突っ込まないのがなあ。 SECTION_ZEROとかROW_ZEROとかのグループ的な意味を持つ場合ならいいけど そうじゃないイミフな定数は定義した意味が半減するし
- 833 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:52:19 ]
- >>832
みんな突っ込んでるだろ。 ZEROと書いといて、仕様変更で「0」以外の値になることは考えないのか?という話で。 代案もセンス悪い。 漏れだったら、COUNTER_START_NUM か何か、ZEROを含まず機能を類推できる名前にする。
- 834 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:55:06 ]
- 現実に周囲を見回すと、物に名前を付けるって意味について二通りの意識を持つコーダーがいる気がするな
今後の拡張等を踏まえて、利便性を追求するのためにとりあえず名前を付ける人 ソースを分かりやすくするために適切な名前を付けようとする人 で、前者は大抵ワガママなソースになりがちで嫌われると思う
- 835 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:58:59 ]
- >誰も突っ込まないのがなあ
突っ込んでんじゃん 文盲か?
- 836 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:02:18 ]
- >SECTION_ZEROとかROW_ZEROとかのグループ的な意味を持つ場合ならいいけど
いいのかよw
- 837 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:07:02 ]
- 釣れるのは雑魚ばかりか
- 838 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:19:47 ]
- 関数は50行ぐらい、多くても100行までにしてくれ、と言っても
理解できない奴が多すぎて困る。 1000行とか天才かよと。
- 839 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:25:22 ]
- 関数分割って結構難しいと思う。
ノッて書き出すと1関数でずっと続けちゃうし、分割した方がいいと思っても、 バグ発生や見通しが悪くなるのが怖くてなかなか踏み切れない。 できるかできないかがプログラマのセンスの差なんだろう。
- 840 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:44:21 ]
- そういう問題じゃねぇだろ
- 841 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:44:42 ]
- > バグ発生や見通しが悪くなるのが怖くてなかなか踏み切れない。
釣りか?
- 842 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:48:08 ]
- 関数分割で見通しが悪くなる、ってどんだけ
- 843 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:53:07 ]
- 839だけど、俺くらい技術の低いプログラマだと、そういうレベルで
悩んでしまうってことです。 バグ発生は、同じ変数を他所でいじってるんじゃないかと取り越し苦労して、 見通しが悪くなるのは、機能を適切に分割できなくて、引数が複雑に なったり、戻り値が凝ってる割にたいしたことやってなかったり拡張性が 悪い物だったりする。
- 844 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:04:02 ]
- 分からんなら分かる奴とかPGの取りまとめとかに聞け。
分からんからといって問題を放置されるのが一番タマラン。
- 845 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:09:31 ]
- 大きな関数をセンスで分割するというアプローチが既に誤り
目に見えない制約がたくさんあって、それを遵守すると機械的に 小さな関数群になる、という感じ
- 846 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:16:32 ]
- こういうアクションで呼ばれた(たとえば、ボタン A が押された)ら、
「こうしてこうしてこうする」、というのを関数にして、 それぞれの「こうする」をさらに「こうしてこうする」にして… というのを (OS なり何らかのライブラリなりの) API に達するまで繰り返す というのを基本としたら、必然的に小さく収まるよなぁ あー、何か俺自身感覚で分割してるような気になってきた
- 847 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:47:51 ]
- >>844
すいません、今の職場、俺以外にPGいないんです。 社内間接部門で、他の人は仕様とりまとめて俺に卸してきます。コーディングは Excel の自動生成マクロをちょっと手直しして使えるってれベルです。 プログラムは全部俺に任せるって言われてます。関数分割も含め、日々試行錯誤です。 OSSのソース読んだりして勉強してるつもりなんですが、外に出て実戦するのがいいのかなぁ。
- 848 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:04:15 ]
- 初心者が自己流だけでいくのは将来危険。
いろいろ回って経験積んだ人にまかせた方がいいと思う。 その経験積んだ人にまかせるのだって、ほんとは危険。 一人にやらせるってのがそもそも危険。
- 849 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:21:53 ]
- プログラミングは危険。超危険。
- 850 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:45:19 ]
- 俺が今日作った関数500行ぐらいある。
疲れた。そして明日からももっと疲れるだろう。
- 851 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:45:51 ]
- もはや釣りかネタとしか思えん
|

|