• ベストアンサー

コピペではスキルアップしませんか

私はプログラムを作るときはほとんどと言っていいほど 前回作成したプログラムや他人が作成したプログラムを コピペして作成しています。 コピペするとロジックを良く考えなかったり メソッド等の詳細がわからないままコードを作成しています。 やはり、プログラムを作成するときはコードを一から打ち込んで 作成した方が勉強になるのでしょうか どうすれば、効率のいい経験の積み方を教えてください。

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

  • ベストアンサー
回答No.2

こんばんは。 当方フリーのシステムエンジニアです。 > コピペではスキルアップしませんか するかしないかといえば、スキルアップは「難しい」です。 たいていは生産性を向上させるためにベースとなるコードを書いて、これを参考にしてみんなにプログラムしてもらうのだけど、 こういった「生産性向上」の取り組みとしてのコピー&ペーストは、コピー&ペーストという表現よりも、サンプルを利用しているという表現のほうがふさわしい。だから、1プログラマーとしてなら、この方法は間違いではないし、サンプルを使って、早く品質のよいものを作ることは、どちらかというと 正しいやり方。 > コピペするとロジックを良く考えなかったり > メソッド等の詳細がわからないままコードを作成しています。 ということだけど、ソフトウェアの開発工程を理解されているという前提で、いくつかの懸念。 1.単体テストはできるか ロジックを理解しないまま単体テストができるのだろうか。仕様を理解して、サンプルの取得元を割り出しているわけだから、ブラックボックステストはできるだろうけど、ホワイトボックステストできる?命令網羅、分岐網羅、条件網羅をできるかな。してないなら、その品質は保たれている? 2.障害が見つかったとき理由が言えるか ずいぶん先の工程であなたの作ったプログラムに不備があったときに、原因をすぐに究明できるだろうか。なぜこの実装なのかとたずねられ「いや、○○さんの作ったやつからこうなっていました。」は理由になるか。(共通関数である場合は別だけど。) だから、少なくともロジックは理解していなければならない。 > やはり、プログラムを作成するときはコードを一から打ち込んで > 作成した方が勉強になるのでしょうか このあと、どんなふうになりたいか。 1プログラマーとして全うしたいならば、いまのやり方で問題はないと思います。 とはいえ、近い将来起こりうる、誰かに教える必要があるようなとき、ロジックの説明を、なぜそうしなければならないかとかを説明できるだろうか、「これはこういうもんだから」と言って納得してもらえるのだろうか。実際にコードを書いてみせないといけない場合もあるでしょう。 プログラマーからステップアップしたいのであれば、サンプルプログラムの現象を理解することはもちろん、なぜそのような実装になっているかを、ロジック面と言語仕様面やツールの特性の側面から、理解する必要があるでしょう。こうすれば、言語やツールに依存しないコーディングスキルが身につくから、プログラマとしての幅も広がるだろうし、ビジネスロジックだけでなくって、もっと内部のレイヤーのコーディングもできるようになってくるでしょう。その先には、冒頭の「たいていは生産性を向上させるためにベースとなるコードを書いて、これを参考にしてみんなにプログラムしてもらう」というポジションがあります。 > どうすれば、効率のいい経験の積み方を教えてください。 ということで、現場において、コピペはサンプルの利用という意味で間違いではないけど、現象を理解していないと、品質がよいものは作れない。ゆえに、ロジックの意味を、コードを追うことだけで理解できて、そうすることで、サンプルが自分のものになっていくのであれば、それが非常に効率のよい勉強法。ただ、非常に複雑なロジックになったときに、自分でコードを書いてみないとわからない、という感情が、いずれ発生してくると思うので、そういったときに、サンプルコードを自分のものにするために、必要に応じて、1からコードを書くとよい。これが一番効率がいいかな。 がんばってください。      

その他の回答 (1)

noname#242220
noname#242220
回答No.1

プログラムを一から始めるのには多くの時間を必要とします。 大概はライブラリーを使用する事に成りますが、 そのライブラリーのロジックを理解せずに使用する事は自分で作成した、 プログラムの動作を保証していない事には成りませんか? まず使用しているライブラリの挙動を理解する事からですね。 友人のシニアプログラマーはマシン語の時代なのですが。 1、要求書からフローチャートを作成する 2、個別に分割し、マシン語で作成。 3、コンパイル ー>ターゲットで確認 4、修正し2に戻る

関連するQ&A

  • FreeBSDのコンソール画面でのコピペについて

    FreeBSDでのコンソール画面でのコピペについて質問がございます。 長いソースコードをコピペするのに最適な方法や コマンド(だらだらと書き込まれず、一瞬で終わるような)を教えてください。 --- --- --- --- --- --- --- --- --- --- --- --- 現在、FreeBSDでWebサイトの作成を行っているのですが コードはEclipceで書き、それをFreeBSDを走らせているサーバに Tera Termを使ってコピペしています。 はじめのうちは気にならなかったのですが、 プログラムが長くなるにつれてコピペ時にかかる時間がわずらわしく なってきました。(一気にコピペされず、高速で打ち込まれるように書き込まれる) 一瞬でコピペが終わるようなコマンドや方法がございましたら、 ぜひ教えてください。 非常に初歩的な質問で申し訳ございません。 よろしくお願いいたします。

  • VBA:Excel の表を含んだセル範囲を Outlook にコピペして送信したい

    Excel 2003 と Outlook 2003 を使用しています。 Excel の表を含んだセル範囲を Outlook にコピペして送信したいのですが、 定型業務化しているので、Excel のマクロで処理したいと考えています。 セルの値をテキスト形式のメッセージに設定するプログラムは作成経験があるのですが、 HTML形式のメッセージの場合は全く初めてでして、方法(メソッドなど)が分かりません。 HTMLBody プロパティに html 文を設定すればよさそうな気がしますが、Excel のデータを マクロで html 文に生成する方法も分かりません。 何か、サンプルプログラムやヒントがございましたら、ご教授ください。 よろしくお願いします。

  • スキルアップ・キャリアアップするためには?

    社会人3年目、うち転職を1回している者です。 前回の会社の転職理由が、自身のスキルアップの為です。 会社は総20名ほどの会社で、10名ほどの部署でしたが、正社員が私含め2人ということで1年目から色々な業務を担当してきました。が、2年目にもう1人の社員が別部署に異動になり、2年目からほぼ私自身が部署内でトップにたっているような状態でした。 社内の業務はある程度こなせるようになりましたが、自分がトップにたっていることに疑問を感じるようになりました。社会人経験も少なく、私にはまだまだ社会で勉強すべき事が多々あるはずなのに、今の会社では自分の知識は向上できても、社会勉強ができない。 他にも新卒で入社しても、ビジネスマナーなど、その他必要なことがらもなにも教えてくれず全部自分で勉強をしました。 給料が遅れたり、源泉徴収票をなかなかくれなかったりと他にも難点がある会社だったので、2年半で退職しました。 次には自分がもっと社会勉強できるところに勤めたい、そう思って転職しました。 しかし、次に入った会社でも同じでした。社長と社員1名パート1名のできたばかりの小さな会社でしたが、ちゃんと研修がある、話し合いをしながら業務をしていこう、という話で入社を決めました。 しかし、私が入社して翌日、いきなり会社唯一の正社員が辞め、引継ぎもない状態ですべてを任されました。 研修もなく、話し合う間もなく、入社してすぐの私に会社のすべてをです。社長も業務は社員に任せていたので、あまり詳細が分からない、パートさんはこどもの休みの都合で1ヶ月休暇中。 右も左も分からない状態なのに、私がしないと会社が全く回らなかったのです。幸い前回と同業種だったので、なんとか仕事の内容は把握しつつ進めていけました。 しかし現状は前と変わらず、これ以上この職場にいてもスキルアップが見込めない。 転職を考えています。 けれど、自分が今やっている職種は求人が少なく、転職するなら職種を変えないといけないと思っています。 今の職種であればある程度の自信はありますが、他の職種で自分の能力がどれほどいかせるのか…すごく不安です。 友人に言わせればそのまま会社をのっとる勢いでバリバリ働いてみたら?とも言われましたが、今の会社で頑張りたいという気持ちがもてません。 入社して半年たちましたが、今思えばいいように使われてきたなぁという虚しさだけがただただ残ります。 長文になってしまい、申し訳ございません。 アドバイスをいただきたいのは、 社会勉強ってどうすればできるんでしょうか? やはり小さい会社にいては難しいのでしょうか? もっとスキルアップ・キャリアアップするにはどうすればいいでしょうか? についてです。よろしくお願いします。

  • 仕事のスキルアップについて

    24歳平社員です。 工場で管理担当させてもらってます。 私の職場では管理が主になるので 業務(1~2時間くらい)をすれば あとは、暇になります。 だいたい5~6時間暇です 暇な時間はサボっていい時間ではなく 仕事を見つけたり改善などを考えたりします。 例えば、業務マニュアルの作成や知らない知識について調べる等々... それでもする事なければ 会社で使えるスキルを磨いたりします (中には暇な時間ずっと動画見てる人もいます...) 去年はエクセルのVBAを勉強し 会社のファイルをプログラミングし作りたいファイル作っていきました。 資格取得に関しましても 上司にとっておいた方がいい資格を聞き 2つの内1つは取得しました もう一つは、来年に勉強を開始し取得する予定です(今年は事情があり勉強しません) VBAも作るのが無いので 今、他にスキルアップできるものが無いので どうすれば良いか悩んでいます。 回答してほしいのは そうなった時、他にパソコンや覚えた方が良いスキルアップを教えてほしいです。 それか、こうした体験があって その時はこうした等の経験談でも助かりますm(__)m 回答お願いします

  • 考える力の鍛え方

    考える力の鍛え方 プログラマーを約1年位やっています。 現在は簡単なロジックのプログラムならある程度 一人で解決できるようになりましたが、 少し複雑なイレギュラーな処理のロジックだと ある程度、途中までできるのですが後一歩の ところでロジックがわからず質問してしまい、 先輩社員の方にコードを書いてもらっている というのが現状です。 どんなロジックでも考えれば対応できるという 様になりたいです。 経験を積めばなんとかなるものなのでしょうか 経験を積んでも後一歩がわからず作業を手伝って もらうという事から抜け出せないような気がします ロジックの考える力を皆さんはどうやって 身につけたのか教えてください。 ・考える力の身につけ方 ・経験を積めばなんとかなるものなのか ・このまま作業を手伝ってもらってもスキルが向上するのか ・ロジックの考え方(言葉にする。絵を描く) ・自宅でできること この中の一つでもかまいませんのでご回答お願いします。 たくさんの方から投稿をお待ちしております。

  • コードを読んでいて分からないメソッド、クラスなどに出会ったら・・。

    アプレット(AWT)を勉強している初心者です。 現在勉強としてゲームを作ろうと思っていて、そのために本に掲載されている、そのゲームに類似しているプログラムのサンプルコードを読んでいるのですが、知らないし、手元の資料(数冊の入門書)にも載っていないメソッド、クラスが出てきます。 そういう時に辞書的な役割を果たしてくれる本でよい本はありますか? ネットで検索してみたりもしているのですが、あまり効率がよくわかるところに行き当たらないみたいで・・・ よろしくお願いします。

  • インフラエンジニアになるためのスキルアップ

    インフラエンジニアになるためのヒントを教えていただけないでしょうか。 将来的に上流工程(客先ヒアリング~詳細設計)から下流工程(構築~テスト、運用・保守)までをほとんど1人でこなせるようになりたいのですが、実務経験が皆無な私がサーバー、ネットワーク、データベースなどの多様なスキルが必要となるインフラエンジニアになるためのスキルアップの道筋はどのようになっていくのでしょうか。 実際に客先ヒアリングからテストまでこなしている方に話を聞いて「調べればわかることばかり勉強していてはいけない。土台となるものを身につけなさい。」と言われたのですが、MCPなどの資格の勉強を積み重ねていけば「構築の基礎→設計の基礎」の順のように身に付いていくのでしょうか。 以上、宜しくお願い致します。

  • 職場でスキルアップ出来ない

    職場で成長できている感覚が無く悩んでいます。 研修もなく、OJTもまともない職場で、どのようにスキルアップしていけばよいのでしょうか。 以下で状況を説明します。 大卒後、資格試験の勉強をしていましたが合格できず、就職しました。 非正規であったり、就職先の内部トラブルなどで職場を3度ほど転職しました。 その間、ほとんどまともな職務経験を得ることが出来ず、教育もうけていませんでした。 31歳で現在の職場に転職し、現在4年目でもうすぐ35歳になります。 今の職場は仕事も忙しくなくのんびりしており、私の経歴と仕事内容の割に給料も悪くないです。 ただ、仕事が定型的で単調で、成長の実感がなく焦ってしまいます。 社員の能力も意識も高くなく、10年先輩である上司も、私が1年目の頃から 「PCのスキルが不足している」 「自分の頭では物事を考えられない」 「仕事の進め方が非効率的」 「ビジネスマナー、常識がない」 「向上心がない」 ということを感じていました。 私は入社してから本を読んだり講座に通ったりして自分なりに勉強し知識を得て、仕事の中で経験を積むことを心がけました。 今では私が主導して仕事の仕組みを効率化してマニュアルを作ったり、業務の方針を提案したりと、10年先輩の直属の上司からはほとんど何も学ぶことがない状況です。 その上司は10年前と同じ事を、10年前と同じように行い、それをあと30年弱ほどやっていこうという考えに見受けられます。 (お前ごときが生意気な、と不快に思われる方がいらっしゃいましたら、申し訳ありません。状況の説明のためとご理解ください) しかし、やはり独学・我流ですので、限界も感じていますし、しっかりとした教育を体系的・計画的に受けている方々には到底敵わないだろうなと思っています。 仕事自体も変化に乏しいですし、周囲のレベルも高くないので、同じ時間で得られる経験値は圧倒的に少ないと感じています。 大学の同期などと話をしていると、定期的にキャリアアップに併せて研修等を受けているようであり、大変羨ましいです。 もう今更スキルアップして転職というのも非現実的であるのは分かっています。 こういう経歴でこういう会社に入ってしまった者が必然的にたどる道なのだろうとも思います。 それでも、少しでも自分の人生を良くしていきたいとも思いますし、そのためには自己の能力を磨いていく必要があると思います。 今の仕事も、10年後には今のスキルでは対応できないような事態が起こるかもしれません。 会社がやってくれないのであれば、自分で何とかするほかはないのですが、どのような考え方でどのようなことをしていけばいいのか、第三者の意見を聴いてみたいのです。 よろしくお願いします。

  • スキルがないが転職したい

    当方27歳の女性です。 転職したいのですが、悩んでいます。 2年前に未経験でプログラマとして入社しました。(前職は受付事務です) 入社してからの4ヶ月はVBを使ってのプログラム開発をやっていたのですが、 その後1年間はプログラム開発なしの詳細設計をし、現在はネットワーク製品のテスターをしています。 やはりプログラム開発がしたいという希望を上司に出しているのですが、入れる案件がないことや、現在の常駐先から長期でやってほしいと言われていることを理由に異動ができません。 そこで、プログラム開発ができる会社に転職しようと考え、転職エージェントに登録をしたり、ハローワークで求人を探したりしています。 しかし、現在までの経験に一貫性がなく、あまりにもスキルが身についておりません。 面接、職務経歴書でどのようにアピールすべきか悩んでいます。 厳しい勤務時間で独学で勉強する時間もなかなか取れず、最近ようやくPHPの勉強を始めたばかりです。 別の職種に転職することも考えたのですが、諦めきれません。 こんな状態でも転職できるでしょうか?アドバイスよろしくお願いします。 ちなみに、今の仕事の契約が3月末で一度切れるため、 次の就職先を見つけて、3月末で現在の会社を退職したいと考えています。 よろしくお願いします!

  • パソナのスキルアップ講座(貿易)

    パソナで貿易実務のスキルアップ講座を受けたことある方いますか? 8回の講座で5千円もしないとても安い講座のようですが、授業内容とか評判はどうでしょうか? 私は過去に貿易事務の経験が少しありますが、L/Cを扱った経験がないのでL/Cを読んだりL/Cから輸出書類を作成する方法を勉強したいと思っています。