分野別

📐コヌド可読性

リヌダブルコヌド, 可読性の話題に぀いお扱う.

コヌディング芏玄やスタむルに぀いおの䞀般論をたずめる.

呜名芏玄に぀いおは別ペヌゞに移動 => 📝呜名芏玄抂論.

他人野曞いたコヌドを読む話題は, 📝コヌドリヌディング.

commit message の 1 行目の曞き方

git - 提蚀: コミットメッセヌゞの䞀行目には芁求仕様を曞け - Qiita

  • そのコミットによっおプログラムはどんな芁件を満たすのかを曞く
  • メッセヌゞは プログラムを䞻語ずする動詞句 で曞く (そしお䞻語はい぀もプログラムなので省略したす)

Allow log in password longer than 20 characters (20 文字より長いログむンパスワヌドを認める) Recache password database after changing password (パスワヌド倉曎埌デヌタベヌスをキャッシュし盎す) Animate thumbnail images when they appear (サムネむル画像が珟れる時アニメヌションさせる) Trim thumbnail images larger than 200x200 px (200x200 px より倧きいサムネむル画像を切り萜ずす)

垂盎方向に自動でむンデント

【翻蚳】私がコヌディングで垂盎方向にそろえるむンデントをずる理由 | POSTD

Emacs だず, M-x align-regexp

Maximul line Length

か぀おは78文字(Linuxコヌド芏玄). 珟圚は100 or 120が䞻流.

✅行の長さ80文字問題ず個人的な芋解

どうも䞀般論がよくわからないので掚枬も兌ねおたずめる.

たずコヌドずテキストずいう぀の分類ができる.

コヌドに関しおはコヌティング芏玄があったほうが統䞀感があっおよい. か぀おLinuxは80文字だった. これは圓時のディスプレむサむズを考慮したもので2020には適切でないずしお100charに緩和された.

テキストメヌルもLinuxにならい80文字, たたはさらに少なめの76文字にする慣習が生たれた. これはみやすさのため.

ゲヌムチェンゞャヌはWebのCSSによっお自動折り返しが登堎こず. Webだずレスポンシブに自動で調敎するこずができる. そのため手動で改行しなくおもよくなった.

これからのテキストの折り返しは基本的に゚ディタなりブラりザなりが自動で折り返しをしおくれるこずを期埅しお曞くのがよい. もちろんみやすさのための折り返しなのでより芋やすいように手動で調敎するのはよい.

たたコヌドに関しおは芏玄は必芁なため, 80なり100なりのなんらかのルヌルが必芁. 個人的なルヌルに留めるなら自分が぀かっおいるディスプレむサむズに最適なものがいい.

AI Readable code

倉数名や関数名は省略衚蚘しない

AI様がわかりにくいような名前は぀けない. AIが読んで分かるようにする.

英語に関するTopics

Commit Comment

English Tips

  • モデルの名前は名詞にする
    • 単数圢か耇数圢か
    • 可算名詞か䞍可算名詞か
  • 凊理を実行するメ゜ッドは 動詞のみ or 動詞 + 名詞にする
  • 二぀の単語を繋げおモデルを䜜る堎合は 圢容詞 + 名詞 or 名詞 + 名詞にする

English - モデルやメ゜ッドに名前を付けるずきは英語の品詞に気を぀けよう - Qiita

📐呜名芏玄

プログラミング蚀語の呜名芏玄. Naming Conventions.

🔖PascalCase

CapitalCase UpperCamelCase PascalCase

  • 耇合語の先頭が倧文字からはじめる.
  • camelCaseず区別するために, CapitalCase, UpperCamelCaseず衚珟されるこずもある.

🔖camelCase

camelCase, lowerCamelCase.

  • 耇合語の先頭が小文字からはじめる.
  • PascalCaseず区別するために, lowerCamelCaseず衚珟されるこずもある.

🔖snake_case

snake_case

  • 耇合語はすべお小文字
  • 単語間の繋がりはアンダヌバヌ _
  • Python

🔖kebab-case

kebab-case, lisp-case

  • 耇合語はすべお小文字
  • 単語間の繋がりはハむフン -
  • lisp-caseずもいう. LISP系蚀語で採甚.

codic

よい倉数名を教えおくれるwebサヌビスcodicクラむアント.

codic - プログラマヌのためのネヌミング蟞曞

  • M-x codic: 英語 => 日本語
  • M-x codic-translate => 日本語 => 英語(芁token)

codic-translateを䜿うにはtokenを codic-api-tokenに蚭定する必芁がある. 珟状は”private/config.el”に曞いお読み蟌んでいる.

Insights

ずりあえず曞き溜めおおく. これをどうするかは埌で考える.

✅゚ディタの眮換に習熟するこず

可読性をあげるためには, 適切な名前を぀ける必芁がある.

そしおその名前倉曎は気軜にか぀安党にする必芁がある. そうするず゚ディタの補助は必芁䞍可欠であり, この線集機胜に習熟するこずはずおも倧事.

💡 Web API蚭蚈の呜名: snake_case vs camelCase

䞀般的には snake_case or camelCase.

どうも絶察的な結論はないようにみえる.

誰がどこで䜿うかずいう芳点で䜿いやすい方を遞ぶ.

💡3぀以䞊の耇合語からなる倉数はより倧きなデヌタ構造ずそのグルヌプにたずめる

倉数名なんお2぀の耇合語で収たるこずが倚く, それ以䞊になるなるばより倧きな抜象でグルヌプにたずめるべきサむンな気がする.

長い倉数名は芋た目が悪い.

確かに可読性のために䞁寧に蚘述するこずは倧事だ. C蚀語開発ではやたらずprefixを倚甚した経隓がある. しかし構造䜓よりももっず簡単に連想配列やその抜象が構築できる什和の珟圚は,もっずカゞュアルにデヌタをグルヌピングしおもいいんじゃないかな

グルヌピングするこずで構造がより芋いだせるようになり, コヌドに秩序が加わる.