-
Notifications
You must be signed in to change notification settings - Fork 63
ДЗ: TypeScript. Начало #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
patsiorin
commented
Dec 26, 2024
- Task: https://otus.ru/learning/111308/#/homework-chat/34824/
- Score (10/10):
- Полное выполнение задания (3 балла):
- (1 балл) Первая часть полностью выполнена;
- (1 балл) Вторая часть полностью выполнена;
- (1 балл) Третья часть полностью выполнена.
- Соответствие типов (3 балла):
- (1 балл) В первой части корректно указаны все типы;
- (1 балл) Во второй части исправлены все ошибки типов;
- (1 балл) В третьей части корректно описаны типы и написаны функции.
- Отсутствие ошибок (3 балла):
- (1 балл) Нет синтаксических ошибок;
- (1 балл) Нет логических ошибок, связанных с типами;
- (1 балл) Код успешно компилируется и работает без ошибок.
- Качество кода (1 балл):
- (1 балл) Код структурирован и читаем.
- Полное выполнение задания (3 балла):
| 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 => |
There was a problem hiding this comment.
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 => { |
There was a problem hiding this comment.
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} => { |
There was a problem hiding this comment.
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'); |
There was a problem hiding this comment.
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 => { |
There was a problem hiding this comment.
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 })); |
There was a problem hiding this comment.
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}`); |
There was a problem hiding this comment.
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[] отдельный тип
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
number подходит но так же и строка поэтому предлогаю посмотреть в сторону джинериков