2018年6月29日金曜日

【プログラミング初学者向け】効率的にコードを書きたいなら、熟練者がコーディングしてる動画を見たほうがいい

プログラムの文法やアルゴリズムを教えてくれる良質なサイトは多いです。 しかし、効率的にコーディングする方法を教えてくれるサイトはそれほど多くない気がします。

すべての人がプログラミング教室に通うのは金銭的または時間的に難しいです。 だから、私がお金をかけずに一人で学ぶ方法を紹介します。

熟練者がコーディングする様子を動画サイトで見ると参考になる

私は「熟練者がコードを書く様子を動画サイトで見ること」をすすめます。 面白いし参考になります。 効率的なコードの書き方、バグのとり(debug)を熟練者から習いましょう。

ためしに動画サイトで Python と検索してみてください。 実際に、コードを書きながら解説する動画をあげている人がたくさんいます。 たとえば、 信号機を動かすシンプルなPythonプログラムを作る動画 など。

または edX のプログラミングの授業(英語)を受講しましょう。 もちろん無料です。

熟練者のどんな所が参考になるか今から説明します。

熟練者はキーボードショートカットを使いこなす

キーボードショートカットとは

テキストをコピーしたいとき、 「マウスでテキストを選択 - 右クリック - コピー」 とするかもしれません。 それと同じことを ctrl-c (ctrlキーを押しながらc) で実行することができます。

このようなキーボードによる入力はキーボードショートカット(keyboard shortcut)と呼ばれています。 ショートキーと呼んでる人もいます。

キーボードショートカットに慣れると、作業が断然早くなります。 多くの熟練者はキーボードショートカットを使いこなして、効率的にコーディングします。

Windowsほぼ共通のキーボードショートカット やアプリ専用のキーボードショートカットがあります。

基本的なキーボードショートカット

統合開発環境(テキストエディタ)によって、キーボードショートカットは少し異なります。 共通した物も多いですが。

私が使っている atomというテキストエディタのキーボードショートカット を参考程度に紹介します。

まずは、基本操作から紹介します。

  • コピー: ctrl-C (ctrlキーを押しながらc)
  • 切り取り:ctrl-X
  • 貼り付け:ctrl-V
  • すべてを選択:ctrl-A
  • ファイルを保存:ctrl-S
  • ファイルを新しい名前で保存:ctrl-shift-S (ctrlキーとshiftキーを押しながらs)

行の複製、行の移動など

プログラムやHTMLを書く人は下のようなキーボードショートカットも使っていると思われます (atomというテキストエディタのキーボードショートカットです)。

特にプログラムのテストやバグ取り(debug)をするとき、このようなキーボードショートカットは威力を発揮します。

  • 行を複製する:ctrl-shift-D(カーソルの真下に同じ行を挿入する)
  • 行ごと削除:ctrl-shift-K
  • 行を上に移動させる:ctrl-
  • 行を下に移動させる:ctrl-
  • 行を選択する:ctrl-L(Lをさらに押せば、その下の複数行も選択できる)
  • インデント: ctrl-] (文を右に半角4文字分ずらす)
  • アウトデント: ctrl-[ (文を左に半角4文字分ずらす)
  • コメントアウト: ctrl-/ (ある処理をコメント化して無効にする)
  • アンコメント: ctrl-/ (コメント化された処理を有効にする)
  • プログラムを実行: ctrl-shift-B (htmlファイルをブラウザで開くのにも使える)
  • ツリービューを表示:ctrl-\

他にもいろいろキーボードショートカットがあります。 エディタのメニューの所にたくさんのキーボードショートカットが載ってるので自分で調べてみてください。

メニューを開くと、キーボードショートカットが右の方に書かれています。上の画像のように薄い字で書かれています(例:Copy Ctrl + C) 。

行を操作するキーボードショートカットは意外に便利

行を操作するキーボードショートカットは意外に便利です。 例えば、「行の複製」(ctrl-shift-d)はこんな感じ。 「行を上に移動させる」と書かれた行を複製し、「上を下」に「↑を↓」に変更しています。

似たような行を書くとき、上のgifアニメーションのように、行をいくつか複製しておき、各行に少し変更を加えればよいです。 作業が早く終わります。

ちなみに、マウスで複数行を選択していれば、複数行を複製、移動、削除できます。 行を選択するには、ctrl-L または 「マウスで左の行番号を選択」すればOKです。

下のgifアニメーションは、HTMLのリストタグの順番を変更したときの物です。

HTMLのリストタグの順番を入れ替えるとき、行を移動させるキーボードショートカットは威力を発揮しそうです。

作業時間を大幅に節約できる

たぶん、キーボードショートカットを使って作業をすれば、 普通に1回作業するより平均6秒くらい節約できます。 そのような事が100回あったとしたら、約10分の差がつきます。

HTMLやプログラムを何年も書いていると、これは自然と自分で覚える事かもしれません。 私がそうでした。 しかし、それまで効率の悪いことをやってる時間がもったいないです。 だから、手っ取り早く熟練者のコーディングの良い点を参考にしたほうがよいと思います。

それらに加え、自己流のコーディング技術も磨きましょう。 他人の真似するだけではつまらないので。

少しずつコードを追加し、実行する

一気にプログラムを書き上げて、一回の実行で完璧な結果を出力できれば、 それに越したことはないです。 しかし、コードが長くなると、それはどうしても難しくなります。

そこで、下のような手順でコーディングしたら、バグ取りの苦労が軽減されます。

  1. プログラムが未完成である間、以下の事を繰り返す
    1. コードを少しずつ書き足す
    2. プログラムを実行し、思った通りの結果になるか確認する
    3. エラーが出たら修正する

バックアップ:大きな変更を実施する前に

プログラムを大きく変更する前にバックアップをとりましょう。 別ファイルに保存するか、または変更を加える箇所をコメントアウトして、 いつでも元通りに復元できる状態にしておきましょう。

バックアップを頻繁にとっていると、作業フォルダがごちゃごちゃしてきます。 定期的に整理しましょう。

熟練者に教わるに越したことはないが

大学生はプログラミングの授業を受けよう

プログラミングを一人で学ぶことは可能だと思います。 ネットの発達のおかげで、自己解決が得意な人は独学が可能になりました。

独学は一人で黙々と学習するのが好きな人にとって良い学習法です。私のように。 しかし、独学している人は、近くに先生もいないし、一緒に学習する仲間もいません。 だから、恵まれた環境にいる人は、熟練者にプログラミングを習うに越したことはないかもしれません。

特に、大学生はプログラミングの授業を受けたほうがいいです。 たぶん、プログラミングの授業があるはずです。 私はPythonをすすめます。 Pythonが比較的にカンタンで色々な事ができるプログラミング言語だからです。

プログラミングの授業の脱落者はわりと多いらしいので、 分からない事があったら、根気強く調べるか、先生に聞いたほうがいいです。

ネット上のコミュニティに入り、仲間や先生みたいな人を探そう

ネットには、プログラミングのコミュニティがいくつかあります。 Stack Overflow (英語サイト) が有名です。 reddit(英語サイト), quora(英語サイト) のような汎用なネット掲示板でプログラミングの質問をするのも良いと思います。

私は日本語サイトをあまり知りませんが、 教えて!goo が学習者向けコミュニティ(日本語)として有名だと思います。 たぶん、似たようなコミュニティが他にもあるはずです。 そこで仲間や先生みたいな人を見つけられたらいいかもしれませんね。

結論:お金がなくても、できる事はたくさんある

私は優良なプログラミング教室でプログラミングを習うことを否定しません。 お金に余裕があってかつ、短時間で業務に直結するプログラミング技術をみにつけたい人はそちらが良いかもしれません。 たぶん、懇切丁寧だと思われます。

でも、すべての優秀なプログラマが他人からプログラミングの基礎を習ったわけではありません。 だから、独学で全く問題ないと思います。 (英才教育を受けた優秀なエンジニアもいますが。)

お金がなくても、十分な学習ができると知ったら、多くの人が気軽に学習を始めることができるでしょう。

0 件のコメント:

コメントを投稿

投稿されたコメントは承認後に公開されます。