![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
こんばんは。
当方フリーのシステムエンジニアです。
> コピペではスキルアップしませんか
するかしないかといえば、スキルアップは「難しい」です。
たいていは生産性を向上させるためにベースとなるコードを書いて、これを参考にしてみんなにプログラムしてもらうのだけど、
こういった「生産性向上」の取り組みとしてのコピー&ペーストは、コピー&ペーストという表現よりも、サンプルを利用しているという表現のほうがふさわしい。だから、1プログラマーとしてなら、この方法は間違いではないし、サンプルを使って、早く品質のよいものを作ることは、どちらかというと
正しいやり方。
> コピペするとロジックを良く考えなかったり
> メソッド等の詳細がわからないままコードを作成しています。
ということだけど、ソフトウェアの開発工程を理解されているという前提で、いくつかの懸念。
1.単体テストはできるか
ロジックを理解しないまま単体テストができるのだろうか。仕様を理解して、サンプルの取得元を割り出しているわけだから、ブラックボックステストはできるだろうけど、ホワイトボックステストできる?命令網羅、分岐網羅、条件網羅をできるかな。してないなら、その品質は保たれている?
2.障害が見つかったとき理由が言えるか
ずいぶん先の工程であなたの作ったプログラムに不備があったときに、原因をすぐに究明できるだろうか。なぜこの実装なのかとたずねられ「いや、○○さんの作ったやつからこうなっていました。」は理由になるか。(共通関数である場合は別だけど。)
だから、少なくともロジックは理解していなければならない。
> やはり、プログラムを作成するときはコードを一から打ち込んで
> 作成した方が勉強になるのでしょうか
このあと、どんなふうになりたいか。
1プログラマーとして全うしたいならば、いまのやり方で問題はないと思います。
とはいえ、近い将来起こりうる、誰かに教える必要があるようなとき、ロジックの説明を、なぜそうしなければならないかとかを説明できるだろうか、「これはこういうもんだから」と言って納得してもらえるのだろうか。実際にコードを書いてみせないといけない場合もあるでしょう。
プログラマーからステップアップしたいのであれば、サンプルプログラムの現象を理解することはもちろん、なぜそのような実装になっているかを、ロジック面と言語仕様面やツールの特性の側面から、理解する必要があるでしょう。こうすれば、言語やツールに依存しないコーディングスキルが身につくから、プログラマとしての幅も広がるだろうし、ビジネスロジックだけでなくって、もっと内部のレイヤーのコーディングもできるようになってくるでしょう。その先には、冒頭の「たいていは生産性を向上させるためにベースとなるコードを書いて、これを参考にしてみんなにプログラムしてもらう」というポジションがあります。
> どうすれば、効率のいい経験の積み方を教えてください。
ということで、現場において、コピペはサンプルの利用という意味で間違いではないけど、現象を理解していないと、品質がよいものは作れない。ゆえに、ロジックの意味を、コードを追うことだけで理解できて、そうすることで、サンプルが自分のものになっていくのであれば、それが非常に効率のよい勉強法。ただ、非常に複雑なロジックになったときに、自分でコードを書いてみないとわからない、という感情が、いずれ発生してくると思うので、そういったときに、サンプルコードを自分のものにするために、必要に応じて、1からコードを書くとよい。これが一番効率がいいかな。
がんばってください。
No.1
- 回答日時:
プログラムを一から始めるのには多くの時間を必要とします。
大概はライブラリーを使用する事に成りますが、
そのライブラリーのロジックを理解せずに使用する事は自分で作成した、
プログラムの動作を保証していない事には成りませんか?
まず使用しているライブラリの挙動を理解する事からですね。
友人のシニアプログラマーはマシン語の時代なのですが。
1、要求書からフローチャートを作成する
2、個別に分割し、マシン語で作成。
3、コンパイル ー>ターゲットで確認
4、修正し2に戻る
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- その他(プログラミング・Web制作) パイソンのプログラミングについての質問です 2 2023/05/22 12:39
- C言語・C++・C# 1. 仮想CPU「exmini」を使用して,「$dataからn減算する」プログラムを作成してください 2 2022/07/04 17:49
- XML ホームページ作成ーこういうのを作りたいんです 6 2022/05/23 18:37
- JavaScript プルダウンから1個選んで、豆知識を出すプログラム。 2 2022/06/21 17:27
- その他(プログラミング・Web制作) 大学一年でVBAのプログラミングを勉強しているものです。来週の情報の授業で以下の問題のプログラムを勉 4 2023/01/19 16:15
- HTML・CSS VS.NETのコードを色合いも含めてHtmlに貼り付けたい。 1 2023/02/02 14:15
- Visual Basic(VBA) VBAプログラム初心者です。 以下の問題のプログラムを表記してみたのですが、実行するためには、どこを 4 2023/01/19 20:04
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Zと2とか紛らわしいのがあるか...
-
テストについて
-
三菱製PLC:ファイルレジスタ(...
-
グーグルの障害者訓練プログラ...
-
インプットとアウトプット
-
初心者です。プログラムを作り...
-
システムを作るにあたり、SQLSe...
-
三菱シーケンサーA1SHCPUとA1SJ...
-
オーバレイ方式と仮想記憶シス...
-
東京でヨコイのソース買えますか?
-
テストやチェックすることが苦...
-
nc旋盤やレーザー加工機を使う...
-
プログラムソースの値段
-
PostgreSQL+DataGridView
-
ナショナル NE-1401F の業...
-
お問合わせフォームなどを無料...
-
ひな型ってなんですか?
-
プログラムコードの読解力の鍛え方
-
洋風のおいしいとんかつソース...
-
マスクROM と PROMの違いについて
おすすめ情報