🎉
【変数名/命名規 ベストプラクティス】JavaScript, Go, TypeScript, Ruby, PHP, Java, Python
厳しい要件。だけどよくある要件。
- AがBを作成する
- AがBを削除する
- AがBをお気に入りにいれる
- AがBをお気に入りから削除する
- AがBを、Cというリストに追加する
- AがBを、Cというリストから削除する
- AがBを、Cというリストに(いつ, どこで)追加する
- AがBを、Cというリストから(いつ, どこで)削除する
このような要件に耐久性のある変数名を考える。
jQueryやGoogleのフレームワークはどうなのか?
jQuery
.prepend()
.append()
.prependTo()
.appendTo()
.wrap()
.wrapAll()
Google.Firestore
ベストプラクティス
set, get, update, delete
user.setFollowing(user_id)
user.setList(list_name)
user.deleteList(list_id)
user.setUserToList(user_id, list_id)
user.deleteUserFromList(user_id, list_id)
jQueryのように単数でも複数でも同じメソッド名で処理。
モジュール側がブラックボックス化してその複雑性を吸収する。
user.deleteFollowing(user_id)
user.deleteFollowing([user_id])
const { user, getUser, deleteUser } = useUsers(user_id);
const { users, getUsers, deleteUsers } = useUsers();
プレフィックスを統一すると誰も迷わなくなる
、くらい視認性が上がる。
- List
- ListUsers
- ListUsersFollowed
- ListUsersBlocked
- ListUsersSearching
- ListFavorites
- ListFavoritesOfCommunity
- Image
- ImageClickable
- ImageLoading
- Dialog
- DialogYesOrNo
- DialogWithSelectOfCountry
- DialogWithSelectOfRegion
- Drawer
- DrawerForGlobalMenu
- DrawerToEditProfile
- Overlay
- OverlayToSignin
- OverlayToLogin
- Users
- UsersVisited // 私が訪問したusers
- UsersVisitedYou // 私を訪問したusers
統一は何よりも大事
略すと人によってバラバラになるので、基本的に略さないことをおすすめします。
関数名
x: delUser
o: deleteUser
変数名(フォローしているusers)
x: follows
o: usersFollowing // 本来動名詞もしくは形容詞にするべきである
まとめ
なし
Discussion