Untitled
unknown
plain_text
a year ago
1.9 kB
15
Indexable
Code style (не обязательно сразу менять во всем приложении, но лучше писать новый код с договоренностями, которые примем )
1) Булиан переменные называть с is (isLoading и т.п), в редких исключениях has/should
2) Предпочтительно использовать interface, вместо type - там где это возможно
3) Опциональные поля в типах распологать снизу
interface A {
x: string
y?: number
}
вместо
interface A {
y?: number
x: string
}
4) Предпочтительно использовать стрелочные функции
5) Если у функции больше 2 параметров, то выносим в объект
const fn = ({a,b,c}) => {} вместо const fn = (a,b,c) => {}
6) Нейминг для:
6.1) Констант: export const SESSION_COOKIE_NAME = 'sessionUuid' (верхний регистр, нижнее подчеркивание)
6.2) Конст объектов и enum (название паскаль кейс; ключи верхний регистр, нижнее подчеркивание; значения по ситуации, предпочтительно стиль нейминга такой же как у ключа):
const SomeObject = {
SOME_KEY: 'value'
}
enum SomeEnum = {
SOME_KEY: 'value'
}
6.3) мап объекты ([существительное]_TO_[существительное]):
const ROOM_STAGE_TO_COMPONENT = {
[RoomStage.Create]: <StreamCreateForm />,
[RoomStage.Preview]: <StreamerPreview />,
[RoomStage.LiveStream]: <StreamLive />,
}
7) реакт квери хуки: выносить в отедьлный фали [].queries.ts (все вроде с этим были согласны)
Editor is loading...
Leave a Comment