Untitled

 avatar
unknown
plain_text
6 months ago
1.9 kB
13
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