Hajimari 内定者用の twitter-clone テンプレート
この文書は Twitter Clone を作るにあたり、コーディングについて留意すべき事項をまとめたものである。
Docker のインストールは、以下のリンクから行なってください。
- ローマ字の使用を避け、英単語を使用すること。
- クラス名はアッパーキャメルケース(頭文字が大文字)で記述すること。
- 変数・メソッド名はローワーキャメルケース(頭文字が小文字)で記述すること。
キャメルケースの種類に関しては、以下を参考にしてください。
/*
* これはスネークケース。
* Twitter Cloneでは避けるように(他の案件では採用される場合もある)。
*/
public function follow_user()
{
//処理
}
//こっちのキャメルケース推奨!
public function followUser()
{
//処理
}
- クラスやメソッドがどんな機能なのかが一目で分かる命名を心がける。
- 変数名を読んで、何が格納されているのかが一目で分かる命名を心がける。
//dataって何の?
$data = $user->id;
//この変数にはユーザーのIDが入ってる!
$userId = $user->id;
//日本語の文法(目的語→動詞)
public function userDataGet()
{
//処理
}
//get と edit と動詞が連続している。
public function getEditTweet()
{
//処理
}
//英語の文法(動詞→目的語)
public function getUserData()
{
//処理
}
/*
* 動詞 edit を Editing にして名詞化する。
* または他の命名が出来ないか再考してみる。
*/
public function getEdittingTweet()
{
//処理
}
PHP のコーディングは、原則以下の記事を参考にしてください。
GitHub というバージョン管理ツールを使用して、開発を行なってください。
Git の操作はターミナルで行います。
Git コマンドに関しては以下の記事を参考にしてください。
基本的に Gitflow を利用してください。
Gitflow とは、以下の図解のように
- main(本番環境)
- develop(テスト環境)
- feature, hotfix, release(開発環境)
3 種類のブランチを使い分ける方法です。
Twitter Clone では、 main, develop, feature のブランチを利用してください。
また、Gitflow については以下の記事を参考にしてください。
GitHub に push したコードをレビューして貰い、問題がないようであれば merge します。
このコードをレビューしてもらうために出すのがプルリクエストです。
(プルリク、PR とも呼ばれます)
- 各章が完了したタイミング
- 新機能を追加したタイミング
- その他、修正が完了したなどキリの良いタイミング
一度に多くの変更があると、レビュワーに多くの負担がかかってしまいます。
それを避けるため、 こまめにキリのいいタイミング でプルリクエストを出しましょう。
if($follower == 0){
echo 'フォロワーはいません。';
}
public const NONE = 0;
if($follower == NONE){
echo 'フォロワーはいません。';
}
バリデーションはForm Requestを使用して行いましょう。
Form Requestを使用すると、Controllerに行く前にバリデーションを実施できます。
public function store(Request $request, Tweet $tweet)
{
$data = $request->all();
$validator = Validator::make($data, [
'text' => ['required', 'string', 'max:140']
]);
$validator->validate();
}
public function authorize()
{
return true;
}
public function rules()
{
return [
'text' => ['required', 'string', 'max:140'],
];
}
Form Requestに関しては、以下の記事を参考にしてください。