初心者が絶対に覚えるべき「40」のコーディング知識について解説しているnoteです。40のうちいくつかは無料で読めるようにしているので、無料部分だけでも是非読んでみてください!
はじめまして、だい(@dai_webp)と申します。
2冊目のnoteになります。他のnoteもおすすめなので是非チェックしてみてください!
\ NEW(2022/12/5 公開) /
・・・
150回購入頂けました!(2022年5月時点)
感想や反響をモーメントにまとめました。購入・ツイートして頂いた方ありがとうございました!
▼Twitterモーメント
https://twitter.com/i/moments/1506453336673103872
いくつかの解説は無料で読めます。その部分だけでも役立つ内容がいくつもあるので是非読んでみてください。
Web制作における「必要な力」とは何でしょうか?私は以下2つだと考えます。
この2つの力を伸ばすために、Web制作における「スクールや教材では学べない、絶対に覚えておきたいこと」を40のパートに分けて解説するnoteを書きました。
前半は「Web制作全般に関する知識」を解説しています。コーディングやCSS設計の基礎、本来実務で得る知識、ツールを使いこなして開発効率をアップする手法などを解説しています。
後半は「コーディングに関するスキルやテクニック」の紹介です。コーディングのテクニック、NG例、便利なCSSなどをサンプルコードや図解と共に丁寧に解説しています。
・・・
特に、前半の内容は教材やスクールではなかなか学べない内容が多いので、これを機に様々な知識を得て頂きたいです。
前半の「Web制作全般に関する知識」をしっかりと理解できれば、実案件でトラブルが起きるのを防げます。また、トラブルが起きても適切に対応できるようになります。Web制作にはトラブルは付き物です。いざトラブルが起きた時にスムーズに対応できるかどうかも、Web制作のスキルのひとつです。
また、VSCodeのスニペットやwebpack、便利なスプレッドシートのデータのダウンロードもできるようにしています。
執筆に2ヶ月以上費やした結果、合計45,000文字を超えるボリュームになりました。
私が約6年間(会社員とフリーランス3年ずつ)、仕事をしてきて得た知見を詰め込んだnoteです。
今ならワンコインで読めるので、是非購入を検討してみてください。
Web制作に関する用語を覚える
Web制作(Webデザイン・コーディングなど)には様々な「専門用語」が存在します。本noteをはじめ、実案件の打ち合わせやブログなどの解説記事にも多数の用語が出てきます。
これらの用語を理解していなければ、その会話や記事自体も当然理解できません。
なので、まずは基本的な用語の解説をしていきます。
## デザイン系
デザインに関する用語も最低限は知っておくべきです。会話の中で自然と出てきます。
## コーディング系
解説記事などでよく使われる用語をまとめました。これらを理解すれば記事の内容もしっかりと理解できるようになります。
## IT、ビジネス系
最後に、打ち合わせなどでよく出てくる用語です。これらを理解していないと、打ち合わせの内容自体も理解できないのでしっかりと覚えましょう。
キレイなコードを書けるようになる
最近とあるツイートを見かけました。「依頼した実装者のコードが汚かった」というものです。どのように汚かったのかは明記されていませんでしたが、私が思う「キレイなコード」を言語化してみました。
どちらも大事ですが、あえて優先順位を付けるなら「デザインを忠実に再現する」ほうが圧倒的に大事です。
なぜなら、サイトは実装者(内部の人間)のためではなく、エンドユーザー(外部の人間)のために存在するからです。
勉強中の方でよく、「どのタグを使えばいいか悩む…」「どうやったらCSS設計うまくできるかな…」などの声を見かけますが、なにより優先するべきことは「デザインを忠実に再現して、対象ブラウザや画面幅を変えても崩れないコードを書く力」です。
なので、まずは「エンドユーザー」に対するキレイなコードを書けるようになりましょう。
## デザインを忠実に再現して、対象ブラウザや画面幅を変えても崩れないコード
特にデザインを忠実に再現する力が一番大切です。
全ての案件でパーフェクトピクセルを求められるわけではないですが、最初のうちはパーフェクトピクセルを意識して練習しましょう。実案件では、どのくらいの粒度でデザインカンプを再現するかを打ち合わせの際に聞くといいでしょう。
画面幅(デバイス)が変わった時にレイアウトが崩れてしまうのも、初心者が躓くポイントのひとつだと思います。
コードを書く時は、常にレスポンシブ対応した時のことを考えながら作業しましょう。
また、最近は便利なCSSがたくさんありますが、IEなど一部のブラウザでは動かないことがよくあるので気をつけましょう。
## 見やすい、正しい、運用しやすいコード
見やすい・正しいコードとは以下を指します。
<p>
text, text, text
</p>
<p>text, text, text</p>
運用しやすいコードとは、良いCSSと呼ばれる4原則を意識して、CSS設計が適切に導入されているコードです。
これらについては、次の項で解説します。
良いCSSの4原則を理解する
Googleのエンジニアの方が、良いCSSを以下のように唱えています。
## 予測しやすい
ルールを決めたら、それに則ったコーディングを行います。ルールは決して破ってはいけません。
例えば、CSS設計のFLOCSSを導入するとしたら、クラス名のルールが細かく決まっているので、そのルールに則ってクラス名を命名しなければいけません。
<button class="c-button">
<button class="button">
また、複雑すぎる書き方をすると、自分以外がコードを修正するときに理解する時間が必要以上に発生します。
「〇〇を修正したら××が変わる」を一瞬で直感的に理解できるのが理想形です。
## 再利用しやすい
サイト内で使い回す共通パーツはできるだけ抽象化して作ります。ポイントは以下の通りです。
クラス名を具体的にしない
具体的にすると、クラス名から連想される場所でしか使えなくなります。
厳密にはどこでも使えるけど、.service-button というクラス名を持つボタンがフォームの送信ボタンだったら変ですよね。
「見た目」と「レイアウト構造」に分けてスタイルを書く
共通パーツには、「レイアウト構造」のスタイルは書かないようにします。「レイアウト構造」のスタイルとは、margin、width、position などが挙げられます。
共通化は大事ですが、無理に共通化しようとすると逆にコードが分かりにくくなることがあるので、共通化するorしないの適切な判断ができるようになりましょう。
## 保守しやすい
サイト運用時には、既存のコードを修正します。
先程の「再利用しやすい」を意識していれば、既存のコードをベースに、新しいコンポーネント(ボタンなどの小さいパーツ)を作ることも容易です。
また、CSSを修正したことによる「予期せぬ表示崩れ」が起きることがあります。「A」のコンテンツの背景色を変えたつもりが「B」の背景色も変わってしまった。このようなことはわりと起きます。
これは、CSSが「どの要素まで影響を与えるか」を把握できていなかったのが原因です。
サイト全体の設計をしっかりと考えていれば、このようなことは起きません。なので、コーディングを始める前に、まずデザインを全体的に確認して、どのようにクラスを命名してスタイルを当てていくかをイメージしてから着手するようにしましょう。
## 拡張しやすい
自分だけが分かればいいや精神はNGです。自分以外の誰かがコードを触っても理解できるようなコードを書くようにしましょう。
複雑な仕様があるならコメントやドキュメントを残すのも重要です。実装中はどんな仕様だったか覚えていても、1ヶ月も経てばその仕様は覚えていないものです。未来の自分自身や他のメンバーのためにも、ドキュメントを残すのはとても大事なことです。
CSS設計の手法を理解する
CSS設計の手法はいくつもあります。有名どころをいくつか挙げておきます。
CSS設計を一言で表すとこのような感じでしょうか。