ありがちなダメプログラマー
同じでなければならないものを別にするのはいけない。コピペでスタイルを統一すべき。コピペよりも優れたコードとは? 使用するライブラリのドキュメントを読んで、独自コードを試行錯誤?否、ドキュメント付属のコードをコピペするほうが優れている。 ライ…
「コードを書ける奴はテストしかできない奴よりも有能」とか。 でも成果の質には触れていないわけで、「C++プログラマー*1はVBプログラマー*2よりも優れている」と言っているようなもの。 既存の物事に合わせるのは好き勝手やるよりも難しい。 自分の判断で…
「○○チェック」というコメントが並んでいて、各コメントごとにreturnが用意されていて、浅いインデントばかりの平らなコードが続いていて、returnをかいくぐった後に本題が始まるようなコードをよく書く人。 それと、「この場合、以降の処理は不要だから」と…
コードを読むときはもちろん、コードを書くときもトレース。 書くときはクックブックや既存コードをどう切り貼りすればいいか試行錯誤。トレースで確認。目的の処理ができれば完成。 完成までの見通しが立たないからコードがどれくらいの規模になるか分から…
分かりやすくするためのサンプルなのに、そのサンプルを理解できただけで「分かったつもり」。 自分の中では有能な技術者気取りなのかも知れない。 単純に知れば済む知識ならググるだけで分かる現在。 その上、ソフトウェアは「作ればある」という世界。「知…
きっと昔読んだ入門書にこう書いてあったんだろう。 グローバル変数はスパゲティコードの要因になりますので、なるべく使わないほうがいいでしょう。 でも、他にスパゲティコードの要因があっても気付かない。 「内部で呼び出している手続きに必要だから」と…
例えば… 指先が見えないほどの速さでコードを打ち込むのがハイスキルなプログラマーだとか、 1週間かかるであろうプログラミングを1日でやってのけるのがハイスキルなプログラマーだとか、 どんな難問でも即答できるのがハイスキルなプログラマーだとか。 換…
プログラマーは使えるプログラミング言語で格が決まるとか、プログラミング言語自体に格があると思っている。 それはプログラミングのことを何も知らないプログラマー志望が言っているだけのネタ。 こういう人は言語によって考え方、プログラムの組み方が変…
「お仕事は何をされているんです?」 「エンジニアです」 「何のエンジニアですか?」 「えーと、システムエンジニアです」 「へー、何のシステムですか?」 「…、ネットワーク関連ですが」 「何のネットワーク?」 「インターネットとかLANとかですけど」 …
「客観的思考」ならまだしも、論理的思考は不要。それはコンピューターの役割。 正しい論理を考えるのに必要なのは物事を正確に捉える分析力。 条件式を考えるとか、データ型やオブジェクトを定義するとか。 抽象的に言うと、いろいろなものを要素の組み合わ…
習得するプログラミング言語の選択が重要だと思っている。 どれくらいかというと… 使えるプログラミング言語の違いは技術者生命の長さに関わる、とか 最初に選択したプログラミング言語が技術者生命を左右する、とか 「Cプログラマはperlプログラマとは格が…
強制的でも何でもないのに「強制的に」。 前提条件を判定しないというだけで「強制的に」。 強制しているのは前提条件付きの処理のほう。 利用者が「しろ」と言っていることでも、前提条件が満たされていないと拒否するわけだから。*1 データを保護するため…
Q.「Wikiをどうモデリングするか」って話はどうよ? http://www.chararin.com/board4/cgi/dicmain.cgi?Select=12&exec=Dictionary&IsDic=1 @夕暮れの辞書はwikiな感じで作ってるよヽ(´ー`)ノ適当だけど wikiの書式もちょっと使える http://www.ge.st98.aren…
いや、オブジェクト指向でも構造化は必要ですから。 メソッド内部の設計。クラス同士の関係。デザインパターンだって構造化の成果だし。
「ソースコードのインデントにハードタブとソフトタブが混ざるのは可読性を下げるので実装前に決めておくべきだ」とか 「いまさら変数名を書き換えるなんて無理ですよ」とか 「変数名を一括置換したいんだけど良いソフト無いかな」とか ソースコードをタイピ…
開発中の問題や懸念を問えば時間のことしか挙げない。 開発期間を延ばす以外に方法を知らない。
コードしか書けない。 説明が全て例示になってしまう。 書いた文章が迷走している。要領を得ない。目次と内容が一致していない。 例えば http://jp.rubyist.net/magazine/?0004-LilyCustomizeHack d:id:pmint:20070727:p1にも例。 さらに酷くなると日本語と…
テストケース付きのライブラリにしないと役に立たないよ。 サンプルでは実用可能かどうかの判断にさえ使えないから。
構造化プログラミングなんて時代遅れ、PADなんて過去の遺物。 そんなものを学ぶよりもOOPやAOPでしょ? UML?もう旬は過ぎたね。 …とか。
言語によって作れるものが違うと思っている コーディングだけでなんでも作れると思っている …など。
だったら、なんでもかんでも略語にすればもっと綺麗になるんじゃないっスかね。 参考: ありがちなダメプログラマー:文字が整然と並んでいるのが綺麗なコードだと思っている - 遅い→起動時
個人が作った範囲でやるのが単体テスト 他人が作った部分とまとめてやるのが結合テスト …とか。 1画面内の動作を確かめるのが単体テスト 他の画面に遷移することを確かめるのが結合テスト …とか。 自分で作ったところを自分でテストするのが単体テスト テス…
読んだだけで要点を掴めるのが綺麗なコードですが?
自分が慣れでプログラミングしているから。 何かを始めるのに慣れることは必要だが、教わることの代わりにはならない。
構造化プログラミングって知ってます?
コードを書くだけでできるのは単機能のコマンドラインツールが限界なのに。
そんな言語はありません。 この勘違いの原因は情報処理技術者試験。広く知られるものなんだから、CASLのように名称を付ければいいものを。
抽象的なことを考えられない。 ビットマスクを作るのに32、64、128という直値を使う。 C言語でポインターを理解するのにひどく苦労した。 オブジェクト指向プログラミングはできるが、オブジェクト指向設計はできない。 例示しないと物事を説明できない。例…
ページは全てテキストだからString型で良いんじゃない? byte配列にすればどんな文字コードでも表現できるから、もっと良いと思うよ。