初心者の作ったプログラムにありがちなこと
■ このスレッドは過去ログ倉庫に格納されています
2008/03/08(土) 23:51:11
ありそうでなかったスレ
2008/03/09(日) 12:02:40
>>19
それは別にいいんじゃね?
それは別にいいんじゃね?
2008/03/09(日) 13:23:24
インラインアセンブラを使うが逆効果
2008/03/09(日) 13:54:35
2008/03/09(日) 14:18:52
コードを手直ししてもコメントはそのまま。
2008/03/09(日) 14:29:15
>>22
下の様に書く言語もあるから,メソッドもプロパティも関数でいいんじゃね?w
class MyClass {
function MyMethod() {
}
function get MyProperty() {
}
function set MyProperty() {
}
}
下の様に書く言語もあるから,メソッドもプロパティも関数でいいんじゃね?w
class MyClass {
function MyMethod() {
}
function get MyProperty() {
}
function set MyProperty() {
}
}
25デフォルトの名無しさん
2008/03/09(日) 14:38:46 メソッドというと脳がショートする同僚がいるので、
例えどのようなものでも関数と呼ぶようにする。
クラスは最近慣れたらしいが構造体とか列挙子がと言ったほうが通じる。
例えどのようなものでも関数と呼ぶようにする。
クラスは最近慣れたらしいが構造体とか列挙子がと言ったほうが通じる。
2008/03/09(日) 14:39:52
動きや使いどころが違うものに似た記述方法を用いると、
分かりやすい部分もあるが、分かりにくい部分もあるな
分かりやすい部分もあるが、分かりにくい部分もあるな
27デフォルトの名無しさん
2008/03/09(日) 14:41:55 C++はメソッドをメンバ関数というな
オブジェクト指向性が中途半端なのが原因だが
オブジェクト指向性が中途半端なのが原因だが
2008/03/09(日) 15:01:04
コメントがない
29デフォルトの名無しさん
2008/03/09(日) 15:19:12 えーむしろ初心者の方がコメントを打つような気が。
ただしコメントの内容がわかりづらいけど。
#もし戻り値がfalseだったらエラーにする
if not foo(baz) :
print "エラーです"
sys.exit(1)
いや、それは見たら分かるから、どういうチェックさせている端的に書けと。
ただしコメントの内容がわかりづらいけど。
#もし戻り値がfalseだったらエラーにする
if not foo(baz) :
print "エラーです"
sys.exit(1)
いや、それは見たら分かるから、どういうチェックさせている端的に書けと。
30デフォルトの名無しさん
2008/03/09(日) 15:27:31 簡単な処理をわざわざ難しく書く。
2008/03/09(日) 22:08:48
自分が書いたコードでも数日経つと読めない
2008/03/10(月) 19:53:23
int* null_ptr = NULL;
*null_ptr = 50;
*null_ptr = 50;
33デフォルトの名無しさん
2008/03/10(月) 23:39:53 ポインタだとわからなくなるので
全部配列にする。
全部配列にする。
2008/03/11(火) 00:00:22
初心者に毛が生えると>>22のようにどうでもいいことにこだわりだしますw
2008/03/11(火) 02:38:23
俺が初めて作ったシューティングゲームは1ファイル15000行
2008/03/11(火) 14:33:12
起動しようとすると「〜.dll(デバッグ用ライブラリやダイナミックリンク用メモリマネージャなど)が見つかりません」と出る。
2008/03/11(火) 19:39:36
>>33
逆に、高速化を狙いポインタを使ってわけのわからないことをする
逆に、高速化を狙いポインタを使ってわけのわからないことをする
38デフォルトの名無しさん
2008/03/11(火) 20:25:55 ファイル名がうんこ
2008/03/11(火) 21:04:21
細かく分けすぎ&雑な名前付けのせいで、何をする関数か当人でも即答できなくなる
2008/03/11(火) 21:12:03
>>37
その挙句に、却って遅い罠。
その挙句に、却って遅い罠。
2008/03/11(火) 22:03:10
>>36
しかもそのdllがない客先でそれを起こす。
しかもそのdllがない客先でそれを起こす。
2008/03/11(火) 22:04:36
変数名をworkとかa,b,num等の名前から内容を推測できないものにし、しばらくしてから書いた本人も読めなくなる。
・・・というのは誰でも初めはやるわな。
むしろ早い段階でやっておいて、後悔したほうが勉強になっていい。
あと、インクリメント演算、デクリメント演算を使わない、for文を使わないなどもあるね。
最初はそれもいいと思うけど、とりあえず書けるようになってきたら、
頑張って使う努力をしないと何時になっても使えない気がする。
・・・というのは誰でも初めはやるわな。
むしろ早い段階でやっておいて、後悔したほうが勉強になっていい。
あと、インクリメント演算、デクリメント演算を使わない、for文を使わないなどもあるね。
最初はそれもいいと思うけど、とりあえず書けるようになってきたら、
頑張って使う努力をしないと何時になっても使えない気がする。
2008/03/11(火) 22:43:19
>>38
俺は今でも使うぞ
俺は今でも使うぞ
2008/03/11(火) 22:48:52
cntとか下品な言葉を使いまくりのやつとか。
2008/03/11(火) 22:52:20
それ、カントのことじゃないよ?
2008/03/11(火) 22:58:17
>>44
警察のどこが下品なの?
警察のどこが下品なの?
47デフォルトの名無しさん
2008/03/11(火) 23:13:07 >>44
関東と近畿
関東と近畿
48デフォルトの名無しさん
2008/03/11(火) 23:21:25 巨大なクラスと巨大なメンバ関数が
ほとんどを占めていて大丈夫か?
と思うが、意外と何でもできる。
こいつ天才か?と、
でも
次の瞬間シヌ。
ほとんどを占めていて大丈夫か?
と思うが、意外と何でもできる。
こいつ天才か?と、
でも
次の瞬間シヌ。
49デフォルトの名無しさん
2008/03/11(火) 23:24:55 if の連続で、よくみたら
最初のif が閉じたのが数ページ後
最初のif が閉じたのが数ページ後
2008/03/11(火) 23:29:15
確かにありそうでなかったw
これ、何故動かないのか悩みに悩んだソース。
10 A="PRINT"
20 A "HELLO"
run
Syntax Error in 20
■
ほんとのほんとに初心者だったからなぁ。
これ、何故動かないのか悩みに悩んだソース。
10 A="PRINT"
20 A "HELLO"
run
Syntax Error in 20
■
ほんとのほんとに初心者だったからなぁ。
2008/03/11(火) 23:45:38
>>50
プログラマの素質がありません
プログラマの素質がありません
2008/03/12(水) 00:02:53
ド・モルガンの法則を知らない
2008/03/12(水) 00:31:30
2008/03/12(水) 01:03:50
2008/03/12(水) 01:29:44
集合論は数学Aの修学過程に包含されて高校1年後期〜2年前期で習うわけだが…。
56デフォルトの名無しさん
2008/03/12(水) 03:10:00 ワード単位でごっそりMOVするくせにTSTやTSTNでせこくビット展開した挙げ句、
XFERやXFRBを駆使して点在した値を再度ワードアドレスに転送したりする。
よく分からなくなったら立ち上がり微分のb接点で自己保持を切ったり、強引にRSTかましたりする。
XFERやXFRBを駆使して点在した値を再度ワードアドレスに転送したりする。
よく分からなくなったら立ち上がり微分のb接点で自己保持を切ったり、強引にRSTかましたりする。
2008/03/14(金) 17:52:30
>>56
電気屋乙
電気屋乙
2008/03/15(土) 13:52:54
not (2 < a and a < 8)
のとき
2 >= a or a >= 8
と同値ってすぐ判るよな?
のとき
2 >= a or a >= 8
と同値ってすぐ判るよな?
2008/03/15(土) 15:31:54
多くの言語では違うと思う
2008/03/15(土) 15:38:10
それはないw
2008/03/15(土) 16:13:24
>>58
お前がすぐ判らないのは判った
お前がすぐ判らないのは判った
2008/03/15(土) 16:29:58
演算子の優先順位に依存します
2008/03/15(土) 16:43:40
2008/03/15(土) 22:40:31
C風にいうと範囲を表現するときは
2 < Val && Val < 10 2 < Val AND Val < 10
とかの表記のほうが
2 < Val < 10 という意味を視覚的に表現できてると思う
だから if ( ! (2 < X && X < 10) IF ( NOT (2 < Val AND Val < 10)
とか冗長な書き方するのは別にいいと思う
「視認性の為の冗長さをかっこわるいと思う」ってのも初心者にありがちじゃないかい
2 < Val && Val < 10 2 < Val AND Val < 10
とかの表記のほうが
2 < Val < 10 という意味を視覚的に表現できてると思う
だから if ( ! (2 < X && X < 10) IF ( NOT (2 < Val AND Val < 10)
とか冗長な書き方するのは別にいいと思う
「視認性の為の冗長さをかっこわるいと思う」ってのも初心者にありがちじゃないかい
2008/03/15(土) 22:41:04
初心者に毛が生えると>>58のように凡ミスをします
2008/03/15(土) 22:46:15
>>64
それはandの場合ならね
それはandの場合ならね
2008/03/15(土) 22:50:52
>>64
無駄をかっこわるいと思うのは初心者じゃなく中級者じゃね
無駄をかっこわるいと思うのは初心者じゃなく中級者じゃね
2008/03/15(土) 23:01:31
69デフォルトの名無しさん
2008/03/16(日) 19:08:46 LD CF113
ANDNOT 0.00
@MOV #0 D0
LD =< #2 D0
AND =< D0 #8
OUT 0.01
++B D0
LD < D0 #9
OUT 0.00 END
―動作説明―
・毎スキャンに渡りブールデバイス0.00がOFFの時、ワードデバイスD0に1スキャンのみ#0を転送する。
・毎スキャンに渡りD0が&2〜8である時、ブールデバイス0.01をONする。
・毎スキャンに渡りワードデバイスD0をインクリメントする。
・毎スキャンに渡りワードデバイスD0が&9より大きい時、ブールデバイス0.00をONする。
・I/Oリフレッシュを行う。
ANDNOT 0.00
@MOV #0 D0
LD =< #2 D0
AND =< D0 #8
OUT 0.01
++B D0
LD < D0 #9
OUT 0.00 END
―動作説明―
・毎スキャンに渡りブールデバイス0.00がOFFの時、ワードデバイスD0に1スキャンのみ#0を転送する。
・毎スキャンに渡りD0が&2〜8である時、ブールデバイス0.01をONする。
・毎スキャンに渡りワードデバイスD0をインクリメントする。
・毎スキャンに渡りワードデバイスD0が&9より大きい時、ブールデバイス0.00をONする。
・I/Oリフレッシュを行う。
2008/03/18(火) 02:11:28
>>50
イキロ
イキロ
2008/03/20(木) 12:50:36
最近の言語では
a = print
a("hello")
が普通に動いたりするし、ある意味時代を先取りじゃね?w
a = print
a("hello")
が普通に動いたりするし、ある意味時代を先取りじゃね?w
2008/03/20(木) 14:14:52
2008/03/20(木) 14:51:51
C++0xだとさらに
auto a = printf;
a("hello¥n");
auto a = printf;
a("hello¥n");
2008/03/21(金) 15:39:13
Java でクラス一つ、メソッド多数、main() の中で手続き型構造化プログラミング。
2008/03/30(日) 18:47:40
2008/03/30(日) 19:15:31
gccならできるだろ
2008/03/31(月) 23:02:45
2008/03/31(月) 23:18:14
2008/03/31(月) 23:22:41
サンクス
そりゃ便利だな。g++にはfinallyもあるし結構ツボな拡張が多いよね。
gccはほとんど使ったことないんだけどw
そりゃ便利だな。g++にはfinallyもあるし結構ツボな拡張が多いよね。
gccはほとんど使ったことないんだけどw
8050
2008/03/31(月) 23:30:122008/03/31(月) 23:31:05
2008/04/01(火) 00:40:45
C++0xでググれ
2008/04/01(火) 11:09:41
でもfinallyは現状でもかなりの処理系で実装されてるよね
2008/04/01(火) 23:37:20
ちなみにfinallyは時期C++でも非標準だからね。
2008/04/05(土) 11:27:32
init();
try{
}finally{
done();
}
って距離が遠すぎるんだよな。
begin{
init();
} end {
done();
} main {
}
にしてくれ。
try{
}finally{
done();
}
って距離が遠すぎるんだよな。
begin{
init();
} end {
done();
} main {
}
にしてくれ。
2008/04/06(日) 00:44:47
距離が遠すぎると感じるくらい詰め込みすぎのプログラムは初心者にありがちですね
2008/11/22(土) 00:38:25
ボトムズに乗れば勝機はある
2008/11/28(金) 11:42:38
わざわざスペース入れるの面倒臭い
詰め詰めで書いて後で整形ツールで一括整形するわ
というか構文木で保存しておいて編集するときは整形ルールを適用して表示するようにすりゃいいのだ
XMLとスキーマみたいにさ
詰め詰めで書いて後で整形ツールで一括整形するわ
というか構文木で保存しておいて編集するときは整形ルールを適用して表示するようにすりゃいいのだ
XMLとスキーマみたいにさ
2009/01/06(火) 11:45:27
2009/02/16(月) 02:36:59
VB
foo.bar.baz.hoge.fuga1.Text = 値
foo.bar.baz.hoge.fuga2.Text = 値
…
foo.bar.baz.hoge.fuga22.Text = 値
foo.bar.baz.hoge.fuga23.Text = 値
foo.bar.baz.hoge.fuga1.Text = 値
foo.bar.baz.hoge.fuga2.Text = 値
…
foo.bar.baz.hoge.fuga22.Text = 値
foo.bar.baz.hoge.fuga23.Text = 値
2009/07/03(金) 14:40:39
>>90
Delphi だと
with foo.bar.baz.hoge do begin
fuga1.Text = XXX;
fuga2.Text = XXX;
...
fuga23.Text = XXX;
end;
だな なつかしい
Delphi だと
with foo.bar.baz.hoge do begin
fuga1.Text = XXX;
fuga2.Text = XXX;
...
fuga23.Text = XXX;
end;
だな なつかしい
2009/07/06(月) 17:45:03
>91
いや、VBにもほぼ同じ機能の With があるんだよ
なのに >90 みたいなコード書く人が居るからスレタイ通りなワケで…
いや、VBにもほぼ同じ機能の With があるんだよ
なのに >90 みたいなコード書く人が居るからスレタイ通りなワケで…
2009/07/07(火) 09:42:45
まぁ、withを使うのは下策だとする書籍もあるがな。曰く、検索したときにヒットしにくいとか。
あれは誰の書いた本だったか。物書きとしては兎も角、技術者としては初心者レベルだったのだろう。
あれは誰の書いた本だったか。物書きとしては兎も角、技術者としては初心者レベルだったのだろう。
2009/07/17(金) 20:02:25
どっちかっつーとwith云々よりも
fuga1〜fuga23を一々書いてる辺りが問題じゃね?
配列的な何かが使えないのか
fuga1〜fuga23を一々書いてる辺りが問題じゃね?
配列的な何かが使えないのか
95デフォルトの名無しさん
2009/09/24(木) 21:36:43 配列を使わないでText1、Text2…
って変数作っちゃったことはあるな。そう言えば。
って変数作っちゃったことはあるな。そう言えば。
2009/09/24(木) 22:06:32
MFC使ってるとブトゥンウィンドウひとつごとに
CButton button1;
CButton button2;
CButton button3;
ってデータメンバ作っちゃうことなんて普通。プチスール。
CButton button1;
CButton button2;
CButton button3;
ってデータメンバ作っちゃうことなんて普通。プチスール。
2009/09/27(日) 20:55:44
2009/09/28(月) 09:18:18
VB6とかなら
dim a as variant
a = "123"
dim i as long
i = a
こんな感じの暗黙キャストしまくりとかあったな…
dim a as variant
a = "123"
dim i as long
i = a
こんな感じの暗黙キャストしまくりとかあったな…
99デフォルトの名無しさん
2009/10/04(日) 00:44:08 こんな酷いの専門の時よく見たなぁ
void func(int flg,int flg2)
{
if(grbFlg == OK)
if(flg == 1)
{
if(flg2 == 1)
{
処理1
} else{
処理2
}
}else if(flg == 2)
if(flg2 == 1)
{
処理1
}else{
エラー処理
}
}
}
printf("%d %d %d",grbFlg,flg1,flg2);
}
void func(int flg,int flg2)
{
if(grbFlg == OK)
if(flg == 1)
{
if(flg2 == 1)
{
処理1
} else{
処理2
}
}else if(flg == 2)
if(flg2 == 1)
{
処理1
}else{
エラー処理
}
}
}
printf("%d %d %d",grbFlg,flg1,flg2);
}
100デフォルトの名無しさん
2009/10/04(日) 07:46:05 ファイル分けで躓く
とりあえず動かせるようにと、ファイル間共有する変数は全てextern
書きなおすより作りなおしたほうが早いことに気付く
自分はそうだった……
とりあえず動かせるようにと、ファイル間共有する変数は全てextern
書きなおすより作りなおしたほうが早いことに気付く
自分はそうだった……
101デフォルトの名無しさん
2009/10/04(日) 07:57:43 俺は昔extern知らなくてファイルが肥大傾向にあった
102デフォルトの名無しさん
2009/10/04(日) 10:37:51 externは最初何でもかんでも1つのファイルに詰め込んでた時は
ワケがわからなかったが、ファイル分けをするようになってこりゃいいやと思った。
で、余計なのまで指定して動かない。
ポインタも理解できたと思い込んでこりゃすげーかっこいい!と思って
ポインタ使いまくったコードを組んだが動かない。
未だにそんなことの繰り返しですわ。
ワケがわからなかったが、ファイル分けをするようになってこりゃいいやと思った。
で、余計なのまで指定して動かない。
ポインタも理解できたと思い込んでこりゃすげーかっこいい!と思って
ポインタ使いまくったコードを組んだが動かない。
未だにそんなことの繰り返しですわ。
103デフォルトの名無しさん
2009/10/04(日) 15:34:00 constを使わない
104デフォルトの名無しさん
2009/10/04(日) 20:30:41 #define VALUE_100 100
105デフォルトの名無しさん
2009/10/12(月) 12:16:50 妙にハイテンションで意味不明なコメントがある。
過去にローカルネタ書いた折れはアホ顔で逝ってよし。
過去にローカルネタ書いた折れはアホ顔で逝ってよし。
106デフォルトの名無しさん
2009/10/15(木) 13:40:35 調べればすぐに見つかる有名で簡単なアルゴリズムとか
たとえばソートアルゴリズムとか
自前で考えて作ってる
たとえばソートアルゴリズムとか
自前で考えて作ってる
107デフォルトの名無しさん
2009/10/15(木) 15:14:14 >>105
デスマが終わりそうな気配になるとよくやりますよね
デスマが終わりそうな気配になるとよくやりますよね
108デフォルトの名無しさん
2009/10/16(金) 01:45:31 if (flag==ture) {
hoge();
}
一行だろうとカッコでくくる
hoge();
}
一行だろうとカッコでくくる
109デフォルトの名無しさん
2009/10/16(金) 01:57:15 不用意に flag == true と書く
不用意に {} を省略する
スペルミスが多い(true と ture と書くなど)
不用意に {} を省略する
スペルミスが多い(true と ture と書くなど)
110デフォルトの名無しさん
2009/10/16(金) 03:56:30 trueでは無い。tureという名の変数だ
111デフォルトの名無しさん
2009/10/16(金) 03:58:18 ワロタw
112デフォルトの名無しさん
2009/10/16(金) 11:23:24 booleanでない変数にflagという名前をつける。
# この前見たflag変数は構造体だった……
# この前見たflag変数は構造体だった……
113デフォルトの名無しさん
2009/10/16(金) 12:01:35 >>106
それがバグってるからさらに困るwwwww
それがバグってるからさらに困るwwwww
114デフォルトの名無しさん
2009/10/16(金) 15:05:33 >>108
IDEがかってにカッコを入力してくれるんだから問題ない
IDEがかってにカッコを入力してくれるんだから問題ない
115デフォルトの名無しさん
2009/10/16(金) 15:10:13 うちのコーディング規約だと一行野郎以外は括ることになっているんだよね。
つまり、
if (flag) hoge();
でなければ
if (flag) {
hoge();
}
とか
if (flag)
{
hoge();
}
つまり、
if (flag) hoge();
でなければ
if (flag) {
hoge();
}
とか
if (flag)
{
hoge();
}
116デフォルトの名無しさん
2009/10/16(金) 16:26:34 プログラムに関わらず物作りの初心者は模倣から入るのが基本なのに
全部自身のオリジナルで構築しようとする
全部自身のオリジナルで構築しようとする
117デフォルトの名無しさん
2009/10/16(金) 16:28:14 そうやってダメな横並び社会になるんだなw
118デフォルトの名無しさん
2009/10/16(金) 20:12:19 どうせみんな、模倣から入ってパクりで終わる。
119デフォルトの名無しさん
2009/10/16(金) 20:41:30 三流会社の基本(笑)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【給食無償化】国が全額負担 自維公3党、近く合意へ★2 [ぐれ★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- なだぎ武、イベントチケットが売れず悲鳴「10枚しか売れておりません」 [muffin★]
- 吉野家のラーメン食べに来た
- かめはめ波打って仕事行く(成功率80%)
- 昨日ダイソー行ったら欲しかったものがなかったんやが🥺
- さわらないで小手指くんってアニメ見てるんだがふざけんな
- つなぎ着てるけどどんなイメージ?
- 生活保護で生活してるけど靴買ったらお金がなくなってごはんが食べれない
