TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Visual Studio IDE環境
☆★Java質問・相談スレッド181★★
ふらっと C#,C♯,C#(初心者用) Part137
UNIXプログラミング質問すれ Part10
SDL=Simple DirectMedia Layerでゲームだ
【.cmd】 バッチファイルスクリプト %12 【.bat】
くだすれDelphi(超初心者用)その58【Embarcadero】
[特設]サマータイム対応相談室
プログラマが使ってはいけないテキストエディタ
JavaScript 4

初心者の作ったプログラムにありがちなこと


1 :2008/03/08 〜 最終レス :2018/07/04
ありそうでなかったスレ

2 :
sudo kill >>1

3 :
せめてマ板に立てればいいものを...

4 :
まじれすすると
「動かない」

5 :
ポインタ変数を宣言しただけで、そこにメモリの平原が広がっていると妄想する。

6 :
変数の型が何バイトかわかっていない。

7 :
タブインデックスが設定されてないとか、ウインドウは可変になってるのにコントロールの配置は固定になってるとか、
OK、キャンセル系のボタンでフォームを閉じる時には後始末の処理をやってるけど、×を押されると対応してないとか。

8 :
メニューバーがなく、OKボタンで終了する。

9 :
C#なのにクラスがない

10 :
publicだらけ

11 :
コピペ

12 :
staticなメソッドしかない

13 :
インデントがタブ/スペース混在。

14 :
そこそこの規模があるのにすべて一つのクラス

15 :
メモリが溢れる
>>10
なんという俺のプログラム

16 :
意味もなく個性を追求

17 :
main関数内でなんでも終わらせようとする
(慣れると、むしろそのほうが難しいよね・・・)

18 :
フラグ用グローバル変数の山

19 :
メソッドに「○○する関数」というコメントがついてる

20 :
>>19
それは別にいいんじゃね?

21 :
インラインアセンブラを使うが逆効果

22 :
>>20
functionでないものを関数と呼ぶ理由はないと思われ
普通に「○○するサブルーチン」でいいじゃん

23 :
コードを手直ししてもコメントはそのまま。

24 :
>>22
下の様に書く言語もあるから,メソッドもプロパティも関数でいいんじゃね?w
class MyClass {
    function MyMethod() {
    }
    function get MyProperty() {
    }
    function set MyProperty() {
    }
}

25 :
メソッドというと脳がショートする同僚がいるので、
例えどのようなものでも関数と呼ぶようにする。
クラスは最近慣れたらしいが構造体とか列挙子がと言ったほうが通じる。

26 :
動きや使いどころが違うものに似た記述方法を用いると、
分かりやすい部分もあるが、分かりにくい部分もあるな


27 :
C++はメソッドをメンバ関数というな
オブジェクト指向性が中途半端なのが原因だが

28 :
コメントがない

29 :
えーむしろ初心者の方がコメントを打つような気が。
ただしコメントの内容がわかりづらいけど。
#もし戻り値がfalseだったらエラーにする
if not foo(baz) :
  print "エラーです"
  sys.exit(1)
いや、それは見たら分かるから、どういうチェックさせている端的に書けと。

30 :
簡単な処理をわざわざ難しく書く。

31 :
自分が書いたコードでも数日経つと読めない

32 :
int* null_ptr = NULL;
*null_ptr = 50;

33 :
ポインタだとわからなくなるので
全部配列にする。

34 :
初心者に毛が生えると>>22のようにどうでもいいことにこだわりだしますw

35 :
俺が初めて作ったシューティングゲームは1ファイル15000行

36 :
起動しようとすると「〜.dll(デバッグ用ライブラリやダイナミックリンク用メモリマネージャなど)が見つかりません」と出る。

37 :
>>33
逆に、高速化を狙いポインタを使ってわけのわからないことをする

38 :
ファイル名がうんこ

39 :
細かく分けすぎ&雑な名前付けのせいで、何をする関数か当人でも即答できなくなる

40 :
>>37
その挙句に、却って遅い罠。

41 :
>>36
しかもそのdllがない客先でそれを起こす。

42 :
変数名をworkとかa,b,num等の名前から内容を推測できないものにし、しばらくしてから書いた本人も読めなくなる。
・・・というのは誰でも初めはやるわな。
むしろ早い段階でやっておいて、後悔したほうが勉強になっていい。

あと、インクリメント演算、デクリメント演算を使わない、for文を使わないなどもあるね。
最初はそれもいいと思うけど、とりあえず書けるようになってきたら、
頑張って使う努力をしないと何時になっても使えない気がする。

43 :
>>38
俺は今でも使うぞ

44 :
cntとか下品な言葉を使いまくりのやつとか。

45 :
それ、カントのことじゃないよ?

46 :
>>44
警察のどこが下品なの?

47 :
>>44
関東と近畿

48 :
巨大なクラスと巨大なメンバ関数が
ほとんどを占めていて大丈夫か?
と思うが、意外と何でもできる。
こいつ天才か?と、
でも
次の瞬間シヌ。

49 :
if の連続で、よくみたら
最初のif が閉じたのが数ページ後

50 :
確かにありそうでなかったw
これ、何故動かないのか悩みに悩んだソース。
10 A="PRINT"
20 A "HELLO"
run
Syntax Error in 20

ほんとのほんとに初心者だったからなぁ。

51 :
>>50
プログラマの素質がありません

52 :
ド・モルガンの法則を知らない

53 :
うちの会社のソースが、殆ど当てはまるなぁ
>>49とか
おわっとる

54 :
>>52
それ自体は知らなくてもしばらくやってたら自分で発見するだろ、普通
と思ってた時期が俺にもありました・・・・

55 :
集合論は数学Aの修学過程に包含されて高校1年後期〜2年前期で習うわけだが…。

56 :
ワード単位でごっそりMOVするくせにTSTやTSTNでせこくビット展開した挙げ句、
XFERやXFRBを駆使して点在した値を再度ワードアドレスに転送したりする。
よく分からなくなったら立ち上がり微分のb接点で自己保持を切ったり、強引にRSTかましたりする。

57 :
>>56
電気屋乙

58 :
not (2 < a and a < 8)
のとき
2 >= a or a >= 8
と同値ってすぐ判るよな?

59 :
多くの言語では違うと思う

60 :
それはないw

61 :
>>58
お前がすぐ判らないのは判った

62 :
演算子の優先順位に依存します

63 :
>>59-62はおいといて、
2 >= a or a >= 8
ではなく
a <= 2 or 8 <= a
って書いてほしいんだけど!!!!

64 :
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)
とか冗長な書き方するのは別にいいと思う
「視認性の為の冗長さをかっこわるいと思う」ってのも初心者にありがちじゃないかい

65 :
初心者に毛が生えると>>58のように凡ミスをします

66 :
>>64
それはandの場合ならね

67 :
>>64
無駄をかっこわるいと思うのは初心者じゃなく中級者じゃね

68 :
>>62
カッコつければいいだけじゃないかっ
優先順位的に必要なくてもカッコつけたほうが処理の括りとしてわかりやすい場合もあるしね

69 :
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リフレッシュを行う。

70 :
>>50
イキロ

71 :
最近の言語では
a = print
a("hello")
が普通に動いたりするし、ある意味時代を先取りじゃね?w

72 :
>>71
#include <stdio.h>
main(){
int (*a)(char*, ...);
a=printf;
a("hello");
}

73 :
C++0xだとさらに
auto a = printf;
a("hello¥n");

74 :
Java でクラス一つ、メソッド多数、main() の中で手続き型構造化プログラミング。

75 :
>>73
お前いい事言うな。
出来るか?
なら今すぐやれ。

76 :
gccならできるだろ

77 :
>>73
それって型推論でもやってるの?
auto pi = 3.14;
とかもあり?
autoってauto intの略だったような記憶が。

78 :
>>77
型推論用にautoキーワードができた。
その例だと、環境にもよるけどpiはdoubleになる。

79 :
サンクス
そりゃ便利だな。g++にはfinallyもあるし結構ツボな拡張が多いよね。
gccはほとんど使ったことないんだけどw

80 :
>>72
#define a printf
main () {
a( "hello" );
}
こっちのが近い感じかも。
ちなみに当時小学1年か2年。子供の発想力って凄いわ。

81 :
>>79
g++というか時期C++がそうなる予定。
g++がTechnical Reportの一部をお試し実装しているということ。

82 :
C++0xでググれ

83 :
でもfinallyは現状でもかなりの処理系で実装されてるよね

84 :
ちなみにfinallyは時期C++でも非標準だからね。

85 :
init();
try{

}finally{
 done();
}
って距離が遠すぎるんだよな。
begin{
 init();
} end {
 done();
} main {

}
にしてくれ。

86 :
距離が遠すぎると感じるくらい詰め込みすぎのプログラムは初心者にありがちですね

87 :
ボトムズに乗れば勝機はある

88 :
わざわざスペース入れるの面倒臭い
詰め詰めで書いて後で整形ツールで一括整形するわ
というか構文木で保存しておいて編集するときは整形ルールを適用して表示するようにすりゃいいのだ
XMLとスキーマみたいにさ

89 :
>>88
>構文木で保存しておいて
最初からLispで書けよ

90 :
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 = 値

91 :
>>90
Delphi だと
with foo.bar.baz.hoge do begin
 fuga1.Text = XXX;
 fuga2.Text = XXX;
 ...
 fuga23.Text = XXX;
end;
だな なつかしい

92 :
>91
いや、VBにもほぼ同じ機能の With があるんだよ
なのに >90 みたいなコード書く人が居るからスレタイ通りなワケで…

93 :
まぁ、withを使うのは下策だとする書籍もあるがな。曰く、検索したときにヒットしにくいとか。
あれは誰の書いた本だったか。物書きとしては兎も角、技術者としては初心者レベルだったのだろう。

94 :
どっちかっつーとwith云々よりも
fuga1〜fuga23を一々書いてる辺りが問題じゃね?
配列的な何かが使えないのか

95 :
配列を使わないでText1、Text2…
って変数作っちゃったことはあるな。そう言えば。

96 :
MFC使ってるとブトゥンウィンドウひとつごとに
CButton button1;
CButton button2;
CButton button3;
ってデータメンバ作っちゃうことなんて普通。プチスール。

97 :
>>96
クラスウィザードないと何にもできない奴とか、いるからなー。
オブジェクトがいくつあろうと配列にしてないから、
メッセージマップもひとつづつ指定しやがる。

98 :
VB6とかなら

dim a as variant
a = "123"
dim i as long
i = a
こんな感じの暗黙キャストしまくりとかあったな…

99 :
こんな酷いの専門の時よく見たなぁ
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 :
ファイル分けで躓く
とりあえず動かせるようにと、ファイル間共有する変数は全てextern
書きなおすより作りなおしたほうが早いことに気付く
自分はそうだった……


100〜のスレッドの続きを読む
人工知能ディープラーニング機械学習のための数学
Visual Studio 2019 Part4
C++相談室 part150
mallocの後にfree不要と言うバカいるの?Part2
インデントを強制しても綺麗なコードにはなりません
☆★Java質問・相談スレッド181★★
【QBASIC互換!?】FreeBasic【GPL】
英語の技術書読めちゃうプログラマ
Rust Part5
VB.NET質問スレ(Part44)
--------------------
ゴー宣道場ってどうよ?77
【医学】丸山ワクチンの働きがほぼ明らかに 日本医大の高橋秀実教授が発表[05/27]
【Hulu】ロック・アップ・スペイン女子刑務所Part1
【自由じゃなけりゃ】尾崎豊part.555【意味がない】
テッド・バンディ
ああああああああああああああああああああああああああ
ホンダが月3万くらいから車を貸してくれる面白いサービスを始めるらしい
☆☆ぷろぐれ愛好者が語るアニソン・萌えソン☆☆
【BlackDesert】黒い砂漠 Part49
∈( * ゚д゚)∋ベタを飼っている人96匹目
少女時代人気ランキング
test
料理の食べ残しトイレに流す迷惑客 食べ放題店が怒りの掲示「二度と来ないで下さい」★2
【🐝】実は危険なアシナガバチ、巣駆除の公費支援拡大
50代のファッション美容ヘアメイク(ID梨)16
うずらずら♪
結婚相手には黒髪が良いと男は思ってる
性行為中にピッタリな曲と言えば?in Beatles板
【沓名覚醒】マネーの虎260【れいとら離反】
【軍事】 北朝鮮が米国に警告 「米韓合同軍事演習の実施に踏み切るなら、われわれのやり方で対抗する」
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼