コーディングはWeb制作やアプリケーション開発で必須の作業工程です。IT分野の設計・開発・実装といった業務領域に携わるのであれば、コーディングに関して理解を深めるプロセスが欠かせません。本記事では効率的なコーディングの学習方法について初心者向けに解説します。
目次
コーディングとは?
コーディングとは、マークアップ言語のHTMLやスタイルシート言語のCSS、またはJavaScriptやPHP、Pythonなどのプログラム言語を用いてソースコードを記述する作業を指します。コーディングはシステム開発やアプリケーション開発、Web制作などにおいて欠かせない工程です。たとえばWeb制作の基本的な流れは、企画の立案・策定と基本設計・詳細設計に始まり、その後にレイアウトの設計図となるワイヤーフレームを設計し、デザインカンプと呼ばれる完成見本を作成します。
この完成見本と同じデザインのWebサイトをWebブラウザ上に表示するためには、HTMLとCSSを用いてソースコードを記述した文書ファイルを作成しなくてはなりません。一般的には、まず文書ファイルの先頭にDOCTYPE宣言を記述し、HTMLのバージョンを宣言します。そしてHTMLでWebサイトの基本的な構造を作成し、CSSを用いて文字の色や大きさ、枠線、余白などの装飾を施すというのが基本的な仕様です。こうしたマークアップ言語やスタイルシート言語を記述し、文書ファイルを作成する一連の作業をコーディングと呼びます。
コーディングの練習1: 写経
コーディングの効率的な基礎学習として挙げられるのが写経です。写経は実際に公開されているWebサイトやアプリケーションのソースコードを忠実に書き写す作業を指します。ソースコードの写経によって得られる主なメリットは以下の3点です。
効果1: コードを理解できるようになる
コーディング学習における最初のステップはソースコードの意味を理解することです。Web制作の分野であれば、実際に公開されているWebサイトのソースコードを書き写すことで、コーディングの基本的な流れやソースコードの基礎構造を把握できます。また、完成されているソースコードを一字一句書き写すことにより、制作者の意図や新しいアプローチを学ぶ一助となります。ただし、この学習段階ではHTMLやCSSそのものを完全に理解するのは困難なため、記述されているソースコードの意味を調べながら写経に取り組むプロセスが重要です。
効果2: 技術スキルが向上する
ソースコードの写経はコーディングスキルの向上につながります。たとえば近年のWeb制作では、PCとモバイルデバイスで画面の表示幅を切り替える条件分岐の設計が不可欠です。その場合、Webサイトの表示領域を指定するviewportというmetaタグや、媒体の画面環境に応じて適用するCSSを切り替えるメディアクエリと呼ばれる要素を理解しなくてはなりません。ソースコードの意味をひとつひとつ調べながら写経を繰り返すことで知識の定着率とスキルが高まり、言語の文法やプログラミングのフレームワークを理解する助けとなります。
効果3: プログラミングの文法や構造を理解できる
コーディングの基本的な流れやソースコードの意味を把握できたなら、次はプログラミングの文法や構造を正しく理解する工程が必要です。Web制作では記述したHTMLやCSSが正しく反映されないというケースは少なくありません。その原因の多くは文法の誤りです。たとえばHTMLはブロックレベル要素とインライン要素という2つの要素で構成されています。そしてブロックレベル要素の中に他のブロックレベル要素やインライン要素を配置できても、インライン要素の中にブロックレベル要素は配置できません。ソースコードの写経を繰り返すことで、こうした基礎的な文法や記述のパターンを学べます。
コーディングの練習2: 模写
コーディング学習における実践・応用編となるのが模写です。模写は実際に公開されているWebサイトやアプリケーションを模倣する学習方法を指します。マークアップ言語やプログラミング言語を書き写すのではなく、自分でソースコードを設計する点が写経との決定的な違いです。模写の実践によって得られる主なメリットとして以下の3つが挙げられます。
効果1: 構造の把握力が向上する
Web制作におけるコーディングの目的とは、Webデザイナーが作成したデザインカンプをソースコードに落とし込み、UI/UXを備えるWebサイトとして実装することです。デザインカンプはPhotoshopやIllustratorなどで作成されたグラフィックデザインでしかなく、そのデザインをWebブラウザ上に再現するためにはHTMLとCSSを用いてソースコードをゼロから記述しなくてはなりません。そのためにはデザインカンプを見てHTMLとCSSの基本構造を設計できるスキルが必要であり、そのレベルに達するには写経では限界があります。模写は写経とは異なり、ソースコードを自分で設計する必要があるため、試行錯誤する過程のなかでWebサイトの構造を把握するスキルが飛躍的に高まります。
効果2: パターンを身につけられる
模写のメリットは暗中模索する中でコーディングのパターンを習得できる点にあります。WebサイトはDOCTYPE宣言とlang属性、headタグが上部にあり、その直下にWebブラウザに表示されるbody要素を設置するのが基本的な構造です。ここまでの構造やパターンは写経で習得できます。しかしbody要素の内部は推奨される書き方はあっても絶対的な正解はなく、Webサイトによってパターンや構造が異なるため、模写による実践・応用的な学習が必要です。複数のWebサイトを模写して学びを深めることで、独立した記事のまとまりを表すarticleタグや、章・節・項などを示すsectionタグの使い方、あるいは要素に識別子を与えるid属性とclass属性の使い分けなど、自分なりのパターンを確立する一助となります。
効果3:実装レベルまで上達する
マークアップ言語やスタイルシート言語、プログラミング言語などのコーディングに絶対的な正解はありませんが、正常な稼働を担保するためには一定のルールに基づく記述が必要です。そこで重要な役割を果たすのが、Google ChromeやSafariなどのWebブラウザに搭載されている検証ツールです。検証ツールを使うことで製作中のソースコードを可視化し、レイアウトの変更テストやデバイス別の表示確認、paddingやmarginの色分け表示や値の変更テストなどを実行できます。検証ツールを用いて模写したソースコードを分析し、仮説と検証を繰り返しながら学び続けることで実装レベルのコーディングスキルを習得できます。