---
# System prepended metadata

title: Implementation注意点

---

# Implementation注意点
## 　フォーマットの注意点
- `// TODO: https://github.com/okuda-seminar/Twitter-Clone/issues/398 - Implement Post Creation Modal with Text and Image Input.` ピリオド必要
- コメントは全てピリオドが必要
- 全てのファイルは最後の行に空白が必要
- 関数名、ファイル名が広義すぎないか、機能にたいして適当なファイル名になっているか
- ファイル名が小文字になっているか
- ファイル名の単語間は-で繋がれているか
- 使われていないライブラリ？（import文）や変数がないか
- 余計なファイルがpushされていないか
- 使われている変数名は機能に対して適切な名前か
- 説明が必要な実装はコメントを残しているか
- コメントももちろん`// comment.`の形式
- コマンドは`$ command`で書く。
- lightモードとdarkモードどちらにも対応しているか
- 同じ構造で同じ機能の型定義やコンポーネントが存在していないか
（同じ型定義が存在する場合は片方からいimportする
　同じ構造のコンポーネントがある場合はcustom componentを実装する）
- 型定義されていない変数はないか。

## page.tsxについて
page.tsxはそのファイルのディレクトリのメインページを表示する。
useEffectやhandlerなどの処理は書かずにコンポーネントだけ記述する

## "use client"について
"use client"を書いた時のみclient componentになり書かなければ基本はserver componentになる。
client componentに書かれているコードはwebサーバーに全て送信され、HTMLに変換される。必要のないファイルをclient componentにするとレンダリングが遅くなる原因になる。

**注意**
ファイルはimportにより別ファイルで使うことができるが、client componentでimportされたファイルもclient componentになってしまう。
引用の木構造の末端のファイルのみできるだけ"use client"とすること
## [TS]コンパイルやり方
 `$ cd ts`
 `$ cd twitter`
 `$ yarn dev`
 localhost:3000にアクセス
