このドキュメントはコードの最低限の品質を保つためのガイドラインです。プロジェクトに応じて内容を変更してもかまいません。
このガイドラインの目的は以下の通りです。
- コードの最低限の品質を担保すること
- コーディングのルールを統一することによって保守性を向上すること
- ドキュメント化することによって教育コストを減らすこと
- コードの品質を向上するための土台にすること
コードの最低限の品質を保つためのガイドラインです。
License: MIT License
このドキュメントはコードの最低限の品質を保つためのガイドラインです。プロジェクトに応じて内容を変更してもかまいません。
このガイドラインの目的は以下の通りです。
popup-window
- dialog
の類語で、リンク先を別の小さなウィンドウで表示するインターフェイス。
lightbox
- carousel
の類語で、モーダルのjQueryプラグインのこと。主な用途はサムネイル画像をクリックしてモーダルを開き画像を大きく見せること。
global-navigation
- ほとんどの画面で表示されている、主要なナビゲーション。
local-navigation
- あるカテゴリ内専用のナビゲーション。グローバルナビゲーションの中や下に配置する場合や、サイドバーに配置する場合がある。
mega-menu
- 深い階層のカテゴリやページへのナビゲーション。ドロップダウン(クリックやマウスオーバー)で階層を表示していく。カテゴリやページ数の多いサイトのグローバルナビゲーションに使われることが多い。
linear-navigation
- その画面の前後に移動するためのナビゲーション。ページネーションとの違いはページ指定ができないこと。
input
- フォームの入力画面。
confirm
- フォームの確認画面。
finish
- フォームの完了画面。
text-field
- input[type="text"]
のような利用者が編集する改行なしのテキストフィールド。
textarea
- textarea
のような利用者が編集する複数行のテキストフィールド。
checkbox
- input[type="checkbox"]
のような1つ以上の項目を選択するインターフェイス。
radio
- input[type="radio"]
のような1つの項目を選択するインターフェイス。
select
- select
のような1つの項目を選択するインターフェイス。ラジオボタンと違い、(dropdown
のように)項目が最初は隠れているのが特徴。
submit
- 送信ボタン。
reset
- リセット(取り消し)ボタン。
modify
- 修正ボタン。
自己文書化(コメントがなくてもコードの意図が分かる)の状態がベストですが、それが難しい場合はコメントをコードに残します。
わざわざコミットメッセージを探すより、コードの説明はコードに残したほうがいいですよね。
コミットメッセージに何をしたのかを残すこともできます。ただし、コード側でも充分に説明するようにしてください。
Airbnb JavaScript Style Guide(日本語訳)をベースとする。
scope="rowgroup"
かscope="colgroup"
も指定するcolgroup
の使い方aria-current
について。
location
の用途について、解釈の仕方によっては微妙?なこともあるため、汎用的なtrue
を使用する。
aria-label
とaria-labeledby
を使う場合の例このバグに当てはまることがなかったため。
https://qiita.com/manabuyasuda/items/01a76204f97cd73ffc4e#comment-45be7f082d411d5b8cff
SVG に詳しくなく、また、仕様書を読んでいないので不確かなコメントで恐縮なのですが、次の箇所が気になりました。
必須の属性を確認する
タグで必須の属性です。表示崩れの原因にもなるので、必ず指定してください。xmlns="http://www.w3.org/2000/svg"(SVG名前空間宣言)
xmlns:xlink="http://www.w3.org/1999/xlink"(XLink名前空間宣言)
version属性
width属性とheight属性(pxは省略可)
viewBox属性単に「必須」の定義が異なるだけかもしれませんが、これらには仕様上の必須(required, must)ではなく、実装を考慮した推奨(recommended, should)も含まれているのではないかなと思いました。
xmlns 属性は HTML に SVG をインラインで記述する場合は省略可能
xmlns:xlink 属性は svg 要素の子孫要素で xlink:href 属性などを使用する場合は必須
version 属性はたしかに指定したほうが良さそうですが、必須なのでしょうか?
width 属性と height 属性は省略可能(省略した場合は不定扱い?)
viewBox 属性は省略可能(省略した場合は svg 要素の表示領域になる?)
README.mdにGitのドキュメントへのリンクがない。
読み上げ時に自然になるように大文字は小文字に変更する(「SEO」はエスイーオーなのでそのまま、「GOOGLE」はグーグルなので「Google」とする)。
以下の理由で、文字は画像の表記をそのまま指定する。
との間は空行を1つ挟んでください。空行がないと、CLIではとがつながって表示されてしまいます。
git log --oneline
もしくは--pretty=oneline --abbrev-commit
使用時に<Body>
も表示されてしまう。
https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E5%B1%A5%E6%AD%B4%E3%81%AE%E9%96%B2%E8%A6%A7
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.