No.2ベストアンサー
- 回答日時:
こんばんは。
当方フリーのシステムエンジニアです。
> コピペではスキルアップしませんか
するかしないかといえば、スキルアップは「難しい」です。
たいていは生産性を向上させるためにベースとなるコードを書いて、これを参考にしてみんなにプログラムしてもらうのだけど、
こういった「生産性向上」の取り組みとしてのコピー&ペーストは、コピー&ペーストという表現よりも、サンプルを利用しているという表現のほうがふさわしい。だから、1プログラマーとしてなら、この方法は間違いではないし、サンプルを使って、早く品質のよいものを作ることは、どちらかというと
正しいやり方。
> コピペするとロジックを良く考えなかったり
> メソッド等の詳細がわからないままコードを作成しています。
ということだけど、ソフトウェアの開発工程を理解されているという前提で、いくつかの懸念。
1.単体テストはできるか
ロジックを理解しないまま単体テストができるのだろうか。仕様を理解して、サンプルの取得元を割り出しているわけだから、ブラックボックステストはできるだろうけど、ホワイトボックステストできる?命令網羅、分岐網羅、条件網羅をできるかな。してないなら、その品質は保たれている?
2.障害が見つかったとき理由が言えるか
ずいぶん先の工程であなたの作ったプログラムに不備があったときに、原因をすぐに究明できるだろうか。なぜこの実装なのかとたずねられ「いや、○○さんの作ったやつからこうなっていました。」は理由になるか。(共通関数である場合は別だけど。)
だから、少なくともロジックは理解していなければならない。
> やはり、プログラムを作成するときはコードを一から打ち込んで
> 作成した方が勉強になるのでしょうか
このあと、どんなふうになりたいか。
1プログラマーとして全うしたいならば、いまのやり方で問題はないと思います。
とはいえ、近い将来起こりうる、誰かに教える必要があるようなとき、ロジックの説明を、なぜそうしなければならないかとかを説明できるだろうか、「これはこういうもんだから」と言って納得してもらえるのだろうか。実際にコードを書いてみせないといけない場合もあるでしょう。
プログラマーからステップアップしたいのであれば、サンプルプログラムの現象を理解することはもちろん、なぜそのような実装になっているかを、ロジック面と言語仕様面やツールの特性の側面から、理解する必要があるでしょう。こうすれば、言語やツールに依存しないコーディングスキルが身につくから、プログラマとしての幅も広がるだろうし、ビジネスロジックだけでなくって、もっと内部のレイヤーのコーディングもできるようになってくるでしょう。その先には、冒頭の「たいていは生産性を向上させるためにベースとなるコードを書いて、これを参考にしてみんなにプログラムしてもらう」というポジションがあります。
> どうすれば、効率のいい経験の積み方を教えてください。
ということで、現場において、コピペはサンプルの利用という意味で間違いではないけど、現象を理解していないと、品質がよいものは作れない。ゆえに、ロジックの意味を、コードを追うことだけで理解できて、そうすることで、サンプルが自分のものになっていくのであれば、それが非常に効率のよい勉強法。ただ、非常に複雑なロジックになったときに、自分でコードを書いてみないとわからない、という感情が、いずれ発生してくると思うので、そういったときに、サンプルコードを自分のものにするために、必要に応じて、1からコードを書くとよい。これが一番効率がいいかな。
がんばってください。
No.1
- 回答日時:
プログラムを一から始めるのには多くの時間を必要とします。
大概はライブラリーを使用する事に成りますが、
そのライブラリーのロジックを理解せずに使用する事は自分で作成した、
プログラムの動作を保証していない事には成りませんか?
まず使用しているライブラリの挙動を理解する事からですね。
友人のシニアプログラマーはマシン語の時代なのですが。
1、要求書からフローチャートを作成する
2、個別に分割し、マシン語で作成。
3、コンパイル ー>ターゲットで確認
4、修正し2に戻る
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テストについて
-
グーグルの障害者訓練プログラ...
-
国家公務員宿舎法
-
三菱製PLC:ファイルレジスタ(...
-
不具合の現状認識をしないプロ...
-
東京でヨコイのソース買えますか?
-
システムを作るにあたり、SQLSe...
-
Excel データを各シートへ自動...
-
Zと2とか紛らわしいのがあるか...
-
「タバスコ」と「ハバネロソー...
-
納品 vs ご納品 どちらが正し...
-
納入日と納品日について
-
発注書と見積書の品番が異なっ...
-
印刷会社がミスプリント。その...
-
VB6 コードでメニュー作成
-
納期の前倒しを依頼する場合 ...
-
Active Directoryの導入について
-
texに関する初歩的な質問
-
「スポット受注」はどういう意...
-
営業職をやってます。先月発注...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Zと2とか紛らわしいのがあるか...
-
テストについて
-
三菱製PLC:ファイルレジスタ(...
-
グーグルの障害者訓練プログラ...
-
東京でヨコイのソース買えますか?
-
オーバレイ方式と仮想記憶シス...
-
プログラムソースの値段
-
三菱シーケンサーA1SHCPUとA1SJ...
-
インプットとアウトプット
-
システムを作るにあたり、SQLSe...
-
トークスプリクト作成
-
ナショナル NE-1401F の業...
-
「タバスコ」と「ハバネロソー...
-
マスクROM と PROMの違いについて
-
ゲームソフト作製での作業につ...
-
フライに天つゆ
-
初心者です。プログラムを作り...
-
ひな型ってなんですか?
-
コンテキストダイアグラムって...
-
オブジェクト指向でないプログ...
おすすめ情報