Skip to content

Conversation

@patsiorin
Copy link

  1. Task: https://otus.ru/learning/111308/#/homework-chat/34824/
  2. Score (10/10):
    1. Полное выполнение задания (3 балла):
      • (1 балл) Первая часть полностью выполнена;
      • (1 балл) Вторая часть полностью выполнена;
      • (1 балл) Третья часть полностью выполнена.
    2. Соответствие типов (3 балла):
      • (1 балл) В первой части корректно указаны все типы;
      • (1 балл) Во второй части исправлены все ошибки типов;
      • (1 балл) В третьей части корректно описаны типы и написаны функции.
    3. Отсутствие ошибок (3 балла):
      • (1 балл) Нет синтаксических ошибок;
      • (1 балл) Нет логических ошибок, связанных с типами;
      • (1 балл) Код успешно компилируется и работает без ошибок.
    4. Качество кода (1 балл):
      • (1 балл) Код структурирован и читаем.

export const removeFirstZeros = (value: string): string => value.replace(/^(-)?[0]+(-?\d+.*)$/, '$1$2');

export const getBeautifulNumber = (value, separator = ' ') =>
export const getBeautifulNumber = (value: number, separator: string = ' '): string =>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

если мы переменной присваиваем значение то тип прописывать не нужно так как работает утиная типизация

value?.toString().replace(/\B(?=(\d{3})+(?!\d))/g, separator);

export const round = (value, accuracy = 2) => {
export const round = (value: number, accuracy: number = 2): number => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

утиная типизация

/(matrix\(-?\d+(\.\d+)?, -?\d+(\.\d+)?, -?\d+(\.\d+)?, -?\d+(\.\d+)?, )(-?\d+(\.\d+)?), (-?\d+(\.\d+)?)\)/;

export const getTransformFromCss = (transformCssString) => {
export const getTransformFromCss = (transformCssString: string): {x: number, y: number} => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{x: number, y: number} стоит вывести в отдельный тип

Math.round((red * 299 + green * 587 + blue * 114) / 1000);

export const getContrastType = (contrastValue) => (contrastValue > 125 ? 'black' : 'white');
export const getContrastType = (contrastValue: number): 'black' | 'white' => (contrastValue > 125 ? 'black' : 'white');

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отлично)Стоит тоже вынести в отдельным тип

export const longColorRegExp = /^#[0-9a-f]{6}$/i;

export const checkColor = (color) => {
export const checkColor = (color: string): void => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не только void если ф-ия возвращает ошибку то по типу это never


export const getNumberedArray = (arr) => arr.map((value, number) => ({ value, number }));
export const toStringArray = (arr) => arr.map(({ value, number }) => `${value}_${number}`);
export const getNumberedArray = (arr: number[]): {value: number, number: number}[] => arr.map((value, number) => ({ value, number }));

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{value: number, number: number}[] отдельный тип

export const getNumberedArray = (arr) => arr.map((value, number) => ({ value, number }));
export const toStringArray = (arr) => arr.map(({ value, number }) => `${value}_${number}`);
export const getNumberedArray = (arr: number[]): {value: number, number: number}[] => arr.map((value, number) => ({ value, number }));
export const toStringArray = (arr: {value: number, number: number}[]): string[] => arr.map(({ value, number }) => `${value}_${number}`);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{value: number, number: number}[]): string[] отдельный тип

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

number подходит но так же и строка поэтому предлогаю посмотреть в сторону джинериков

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants