プログラミング 自己啓発

プログラミングスキルを向上させる3ステップ

投稿日:

プログラミングスキルを向上させるための3ステップです。
私自身が実践していることであり、向上を実感している方法です。

写経

本をベースに写経します。
写し書きをして動いたらOKではなく、以下のような問いかけを常に頭に置きながら行います。
・なぜこの書き方で動くのか?
・本当にこの書き方が良いのか?

写経しても構築した環境の違いでエラーが発生したりするので、
最初は動くようにすることを最優先します。

次に、上記の問いを確かめるべく公式ドキュメントを見て確かめたり、
自分で少し書き方を変えてみて、同じ動作が保証されるかを確認したりしてみます。

改良

写経はすぐに飽きます。
簡単なものが多く、真似すれば大抵動いてしまうからです。
なので次にやることは、写経して学んだことを応用して、自分で何かを作ります。

例えば、for文を学んだのであれば、for文を使った事例を自分で何個か作って
実際に動かしてみます。

Javaで例を挙げるなら、String、Integerの配列で回してみる。
ArrayList、HashMap、HashSetで作ったオブジェクトでfor文を回してみる。
ArrayList、HashMap、HashSetをラップした独自オブジェクトで回してみる。
など。

一つ何かを覚えたら、他の応用方法が無いか探し、
どのように応用できるかを追求してみます。

教える

人に教えることでより深い理解を得ることができます。
教えるとき、自分の知識にあいまいな部分があると、「あれ?どうするんだっけ?」となります。

そのとき、自分で詳しく調べなおしたり、
相手がわかるように更に詳細化してあげたりすることで理解が深まります。

私はJava研修の担当者を経験したことがあります。
元々はPHPerで、Javaは独学で数か月学んだだけで実務経験が無い状態でした。
なので基本的なことでも調べながら教えていましたが、結果的に私自身がより詳しくなりました。

今はこのブログを執筆したり、以前の会社の後輩にプライベートで教えたりしています。

まとめ

・写経は、スキルを身に着けるきっかけ。
 ただし、「なぜ?」という問いは持ち続けることが大事です。
・改良は、応用力を身に着けるよい方法です。
 自分で調べてより良いコードを書く習慣を持つことが成長につながります。
・教えるのは、より理解を深めるきっかけ。
 教えることで自らがより学ぶことにつながります

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, 自己啓発
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

使って便利だったNode.jsのnpmモジュール

Excel操作 xlsx Excelファイルからシート単位でデータを読み取り、JSON化することができるモジュール。 VBAでは処理が遅い場合の代替手段となるが、書式設定はできない。 JSONファイル …

no image

画面にonclickを書かずにイベントを発生させる方法

画面にonclickを記述すると、JavaScript側で関数名が変更になった際の修正が面倒になる。 なのでonclickを記述せずにイベントを発生させるように記述することが望ましいと子ドレビューで指 …

【Java】モジュールシステムの概要と実装例

概要 Javaのモジュールシステムについて、概念的なイメージと実際のコード例で理解を深めるための記事です。 読者はJava Silverの資格勉強中の方やJava入門者を想定しています。 内容は以下の …

【Java】ListをStreamで処理する方法 7選!

概要 ListをStreamで処理する方法のうち、よく使う処理方法を掲載します。 前準備 プリミティブなListでStreamを利用するシーンをあまり想定できなかったので、オブジェクトのListでの事 …

SingletonパターンをJUnitでテストする

シングルトンパターンはインスタンスが1つであることを保証する設計です。 Junitを使って、本当に1つだけなのかを検証してみます。 またその手順をテスト駆動開発に従った手順(Red→Green→リファ …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。