プログラミング 自己啓発

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

投稿日:

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

写経

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

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

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

改良

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

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

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

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

教える

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

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

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

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

まとめ

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

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

ランキング評価する

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

執筆者:


comment

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

CAPTCHA


関連記事

【Java入門】ラムダ式の基本構文と変数スコープ

概要 Javaにおけるラムダ式について解説します。 ラムダ式とは? OracleのJavaドキュメントに簡潔な説明があったので引用したいと思います。 Lambda expressions enable …

ExcelをA1で拡大率100%にするツール(サブフォルダ全て)

たくましゅくじょさんのところで公開されていた、 「エクセルで全シートの拡大率を100%にしA1セルを選択するマクロ」 をサブフォルダ全てに対応させたバージョンを作成しました。 会社の納品ドキュメントを …

【SpringBoot入門】#2~ 開発環境を準備しよう(DB)

DB(MySQL) ダウンロード MySQLダウンロード 私の環境がWindowsのため、画像はWindows用になっています。 あなたの環境に合わせたOSを選択してDLして下さい。 インストール ダ …

【Bootstrap】ログイン画面をデザインしよう!

概要 【SpringSecurity】#3~ 独自のログイン画面でシンプルな独自のログイン画面を実装しました。 これに、Bootstrapでデザインを施していきます。 Bootstrapのサンプルを基 …

【Java】MySQLから取得した日付をフォーマット変換して表示する方法

MySQLからSELECTしてきた日付データ(DateTime型)を、 「yyyy年MM月dd日 hh時mm分ss秒」のフォーマットで表示する方法です。 コード [crayon-60fe2f28d2f …

記事を探す

SpringFramworkの良書

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

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