• ベストアンサー

プロのスキルについて

趣味でプログラミングをしている者ですが、プロのプログラマーの方に質問です。私はprintf();みたいなのをたくさん用意してプログラムをコピペで作ったりするのですが、プロの方は全てタイピングでなさるのですか?また、プロの方が磨いているスキルとはどういったものなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • don_go
  • ベストアンサー率31% (336/1059)
回答No.5

データベースのテーブル定義等から -------------------------------------- XXcode   XXコード XXname   XX名   ・   ・ XXflag   XXフラグ -------------------------------------- といったテキストを作り --------------------------------------   printf("", );    /* */   printf("", );    /* */   ・   ・   printf("", );    /* */ -------------------------------------- に箱型コピー・ペーストできるテキストエディタを使って --------------------------------------   printf("", );    /* XXコード */   printf("", );    /* XX名 */   ・   ・   printf("", );    /* XXフラグ */ -------------------------------------- 以下同様... 上記の方法で、変数・定数・構造体定義、データベース ・ファイル及びプリンター等への入出力処理のコーディ ングをする事は良くやっています。 予め作成するデータと変換する必要があるパターンの チェックリストを作っておいて、テキストエディタで 一気に作ってしまいます。 #RADツールだと箱型コピー・ペーストができなかったり #文法チェックが却って邪魔になる事があるので.... いくらタイプ入力のスピードが自慢であっても、それより 効率的で楽な方法があれば、そちらを選ぶのがプロの仕事 だと思います。 #「時は金なり」 大規模開発や自社開発等の多人数又は複数プロジェクトで 使用する場合なら、変換ツールを作ってしまうのも良いで しょう。

yamada11
質問者

お礼

ありがとうございます。 そうなんですか、何度も使うようなものはある程度コピペですます、ということですね。 とても参考になりました。ありがとうございます。

その他の回答 (7)

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.8

>何度も使うようなものはある程度コピペですます、ということですね。 ついでに言うと.... モジュール単位だけでなく プログラム単位でも同じ事をやります。 例えば、帳票プログラムでは出力項目の項目数や内容が 異なるだけといったケースは数多くあります。 そして、それらを分類していくと、意外とそのパターン は多く有りません。 それらの基本パターンをしっかりと作り込んでおいて 個別プログラムで変わる部分のみを作っていけば、品質 が高く・均一なプログラムを数十本、数百本単位で短期 に量産する事ができます。 #どうせ、コピペするなら徹底的に....

yamada11
質問者

お礼

そうですか、まぁ、要するにミスがなければコピペでも差し支えないというところでしょうか。ミスがでないようにコピペを利用する・・・。ありがとうございました。

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.7

>何度も使うようなものはある程度コピペですます、ということですね。 そうです。 確かに「コピペして修正」を多用する事によって間違える リスクもあります。 しかし、項目が多く並ぶテーブル定義関連の場合は、全て の項目をいちいちテーブル定義書等を横目で見ながら入力 する必要が有るため、似た名前の項目名との見間違いや・ 見落としによる行抜け等のエラーが発生する可能性が全て の行に対して出てきます。 そういう間違いをしない様に注意しながらタイプする事は 意外と頭も目も疲れる作業です。 #コピペの場合は間違いのパターンがある程度限定される #上、通常は同じ箇所を間違えるので、むしろ修正箇所を #検索するのが楽です。 特に疲れている状態ではミスを起こす可能性はさらに高く なります。 その点、ANo.5での様な機械的作業は、有る程度疲れている 状態でも作業が容易なので、私は1日の作業終盤にこの手の 作業をする様に時間配分しています。 #疲れている状態で頭を使う作業を行う事は、作業効率が #悪くなるだけで時間の無駄。 入力間違えしていないかのチェックは、翌日の朝に体も頭も リフレッシュした状態で行います。

yamada11
質問者

お礼

返事が遅れて申し訳ございません。 ありがとうございます。お話が段々具体的な感じとなってきてプロの方が仕事をする風景がかいま見えてくるようです。 そうですね、なるべく楽なものは疲れているときに行う方がミスは少なくなるのはわたくしも本当にそう思います。 そのような事も考えながら作業をしていく事もプロのスキルとうことでしょうか。

  • Interest
  • ベストアンサー率31% (207/659)
回答No.6

ソースコードのコピペは「お行儀の悪いプログラム」の見本です。 なぜ悪いのか。もしコピペで作った場所が10か所あって、コピー元に間違いが見つかったら、10か所全部直さなきゃいけなくなるからです。 なので私は基本的にキーボードから打ち込んでいます。開発環境が補完してくれる場合はそれも使います。 > プロの方が磨いているスキルとはどういったものなのでしょうか? * 他人が書いたソースコードを読み解くスキル * プログラムの動作があやしい場所を見つけ出すスキル * なぜそのような仕様になっているのかを聞き出す/読み解くスキル * 他人に分かりやすく説明するスキル * 不明な点を上手に質問するスキル * 本質的な議論と枝葉の議論を見分けるスキル * 問題を構造化して考えるスキル あら、後半に行くにしたがってプログラミングからビジネススキルに変わってきましたね。

yamada11
質問者

お礼

ありがとうございました。 そうですか、最終的にはヒューマンスキルが重要なんですね。 丁寧な回答をありがとうございました。

  • kenken546
  • ベストアンサー率17% (21/117)
回答No.4

http://ja.wikipedia.org/wiki/RAD_(%E8%A8%88%E7%AE%97%E6%A9%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E7%92%B0%E5%A2%83) http://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83 この入力補完に関してはRADとしてというよりIDEとしての特徴の 一つでしょうね。 RADの特徴としたらソースレベルの事より半自動処理でのソース生成の意味合いが強いですね。 IDEはプログラミングの機能を統合してでのなかのエディタとしての機能の一部に入力補完があるのですね。 実際にはIDEの一部の機能にRADがあると考えれば良いでしょう。

yamada11
質問者

お礼

ありがとうございました。

noname#259269
noname#259269
回答No.3

テンプレートを用意するということだと読み取れたのですが。 printf 程度の粒度の小さいものについて言うと、1行分それを手入力して、コピペしてメッセージを書き換えたりは勿論します。 一方、ある程度の処理のまとまり単位での話になると、 基本的に、バグを産まない為には DRY(Do not Repeat Yourself)原則を守るべきといわれています。 そのために、サブルーチン化やクラスを駆使して、極力同じコーディングを2回以上書かないようにします。 同じ処理のまとまりをプログラム内に何度も書くと、そのまとまりに一箇所修正が入ると、すべてのコピペ箇所に修正が必要となり、修正漏れ の要因となります。 開発後の保守性もふまえて実装するのがプロだと思います。 最近、若手でコピペ量産する人が多くて閉口しているのですが、私の周りだけなんでしょうか(愚痴)。 コピペ量産はやめてくださいね。

yamada11
質問者

お礼

そうなんですか、コピペに頼らないプログラマーとして能力とはどのような訓練で養われるものなのでしょうか?

  • eroermine
  • ベストアンサー率18% (83/444)
回答No.2

大手メーカーのソフトを解析すると有名フリーソフトからの無断コピペが発覚したりしますよね。 プロ = 少ない労力で金儲け と考えるとプロの中のプロほどコピペを使うのかも。 作家でも儲かってる人はコピペが多いのでは。 まあ合法に使えるコピペを探すのが遵法プロの技量ということで。

yamada11
質問者

お礼

そうなんですか・・・。てことはプロの技量とはそういうものを見極める力ということでしょうか?そういう力はどのように養われるものなのでしょう?

noname#140925
noname#140925
回答No.1

通常RADツール(VisyalStudioとかEclipseとか)使いますから、RADツールが入力補完してくれます。 RADツール未使用なら全て手入力ですね。 磨いているスキル・・・特に無いですね。 一般業務系のシステムだと、素人に毛の生えたような人でもプログラムしている事がありますよ。 また、いくら慣れている人でも全ての命令を覚えている人は殆どいないと思いますよ。(必要ないし、無駄ですし。) 一つの言語に特化している人は知りませんけど。

yamada11
質問者

お礼

ありがとうございます。 そうですか、ツールを使用されるのですか。私はてっきりプロの方は全てタイピングでプログラムを入力して超速いのかと思いました。 たまにタイピングかもしくはプログラムを書く?入力するのが速い人がいるとかいないとかって話を聞くのですが、それはどういうことなのでしょう?