LyuPo7 / bot

Haskell Echo-bot
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

код стайл #7

Closed KateBushueva closed 2 years ago

KateBushueva commented 3 years ago

Здесь несколько моментов

  1. В коде в некоторых местах происходит смешение кэмэл-кейса и нижнего подчеркивания - лучше придерживаться одного стиля: для внутренних сущностей - кэмэлКейс, для джейсонов - подчеркивания.
  2. именования сущностей: нет необходимости дублировать имя даты внутри самой даты: если дата называется Attachment , не нужно поля этой даты начинать с attach_ , достаточно просто type , ну или если слово зарезервировано, то что-то иное придумать
  3. комментарии: лучше избегать дублирующих код комментариев - то, для чего нужна сущность, должно быть понятно из ее имени, а не из комментария. Тем более странно, когда комментарий почти полностью дублирует имя сущности

Снимок экрана от 2021-11-08 16-07-45

KateBushueva commented 3 years ago

Кстати, в конктретном случае с Attachment лучше использовать тип сумму, а не произведение: аттачмент может быть только одним из вышеперечисленных типов (а не может содержать сразу несколько ), это логически определение типа суммы (а не произведения)

KateBushueva commented 3 years ago

Кстати, в конктретном случае с Attachment лучше использовать тип сумму, а не произведение: аттачмент может быть только одним из вышеперечисленных типов (а не может содержать сразу несколько ), это логически определение типа суммы (а не произведения)

я пожалуй вынесу это в отдельный ишью, чтобы не засорять здесь

LyuPo7 commented 3 years ago

Поменяла везде. Теперь не перемешиваются стили: camalCase только для внутренних Типов; нижнее подчеркивание только для json.

1. В коде в некоторых местах происходит смешение кэмэл-кейса и нижнего подчеркивания - лучше придерживаться одного стиля: для внутренних сущностей - кэмэлКейс, для джейсонов - подчеркивания.
LyuPo7 commented 3 years ago

Сделала отдельные модули для всех сущностей, чтобы не пересекалось именование полей и где нужно использую qualified import. -> Это позволило название полей сделать краткими (без attach_ и тд). Оставила только такие поля как 'update_type' (где используются в api резервированые слова), но в этих случаях пишу инстансы руками, так что для остальных полей этих же типов поля без префиксов.

2. именования сущностей: нет необходимости дублировать имя даты внутри самой даты: если дата называется `Attachment` , не нужно поля этой даты начинать с `attach_` , достаточно просто `type` , ну или если слово зарезервировано, то что-то иное придумать
LyuPo7 commented 3 years ago

Убрала излишние комментарии (оставила только информативные на мой взгляд)

3. комментарии: лучше избегать дублирующих код комментариев - то, для чего нужна сущность, должно быть понятно  из ее имени, а не из комментария. Тем более странно, когда комментарий почти полностью дублирует имя сущности
KateBushueva commented 3 years ago

по первым пунктам соглашусь, по поводу комментариев - еще остались в некоторых модулях (например, в логах). Здесь возникает также вопрос по именованию сущностей Снимок экрана от 2021-11-10 15-43-02

Например, в данном случае можно первую фунцию назвать convertValue , а вторую readKey - в таком случае уходит необходимость оставлять комментарии. В именах сущностей чаще всего не нужно указывать тип (обычно тип мы видим из сигнатуры). То есть мысль в том, что если есть необходимость оставить комментарий, что делает та или иная сущность, то надо задуматься, корректно ли эта сущность именована. Имеет смысл оставлять комментарии, отвечающие на вопрос "почему", а не "что", если есть такая необходимость.

LyuPo7 commented 2 years ago

Свела комменты к минимуму.

по первым пунктам соглашусь, по поводу комментариев - еще остались в некоторых модулях (например, в логах).

Поменяла названия.

Например, в данном случае можно первую фунцию назвать convertValue , а вторую readKey - в таком случае уходит необходимость оставлять комментарии. В именах сущностей чаще всего не нужно указывать тип (обычно тип мы видим из сигнатуры). То есть мысль в том, что если есть необходимость оставить комментарий, что делает та или иная сущность, то надо задуматься, корректно ли эта сущность именована. Имеет смысл оставлять комментарии, отвечающие на вопрос "почему", а не "что", если есть такая необходимость.