Skip to content

kotano-snippets/test-unipage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unipage-test

Code Review Results

\badcode.js

Priority 3
Title Объявление переменных в теле класса
Category Error
Description

Нельзя объявлять переменные в теле класса *Публичные поля объявляются без ключевого слова var/const/let

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Попытка доступа к значению через имя класса
Category Error
Description

У класса нет значения username. Нужно использовать this, чтобы обратиться к значению экземпляра.

Да и вообще бесполезная функция

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 2
Title Лучше выбрасывать исключение с объектом Error
Category Error Handling
Description

Лучше делать так: throw new Error('msg')

Additional Info https://eslint.org/docs/rules/no-throw-literal
SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 2
Title Имя метода написано через snake_case
Category Code-Style
Description

В JavaScript принято использовать camelCase

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 1
Title XMLHttpRequest использует устаревшее API
Category Maintainability
Description

Лучше использовать Fetch

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Передача пользовательских данных через метод GET
Category Reliability
Description

Метод GET используется в основном для полчуения данных, а еще он раскрывает пользовательские данные, так как передает их в заголовке запроса. Таким образом нужно использовать POST для авторизации

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Запрос не отправляется
Category Error
Description

Чтобы отправить запрос нужно воспользоваться методом xhr.send()

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Неправильное использование переменной + попытка изменить константу ++
Category Architecture
Description

Значение константы нельзя изменить. Такой код выдаст ошибку. И в целом переменная result не имеет никакого смысла. Она всегда возвращает false, так как xhr.onload работает асинхронно. Также манипуляции с result не выглядят логичными. То, что она может иметь два типа данных (response и bool), считается плохой практикой. Лучше иметь некий массив, который будет хранить в себе ошибки. Если массив пустой, то все ОК. В любом случае код неиспользуемый. Лучше использовать Fetch, и получать результат его работы в асинхронной функции, а там уже обрабатывать.

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Сравнение числового значения со строкой
Category Error
Description

xhr.status возвращает число. При строгом сравнении условие никогда не будет выполняться.

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 2
Title Неправильная обработка события
Category Complexity
Description

Лучше прикрепить обработчик события submit ко всей форме.

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 1
Title Использование сторонней библиотеки jQuery
Category Maintainability
Description

Само по себе использование jQuery не является чем-то плохим. Но все же лучше использовать возможности современного JavaScript*. Этого же эффекта возможно добиться без jQuery.

  • При условии, что не нужно заботиться о кроссбраузерности.

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 1
Title Ручное вытаскивание данных из полей
Category Performance
Description

Лучше использовать ссылку на форму и извлекать из нее значения полей. Еще можно исползовать FormData(formElement).

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 2
Title Объявление через var
Category Maintainability
Description

Лучше не использовать var, особенно там, где его применение не несет дополнительной пользы.

Лучше использовать const, так как нет взаимодействия со внешним scope и нет переопределения.

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Нет ключевого слова new + результат всегда false
Category Error
Description

Ключевое слово new необходимо, чтобы создать пустой объект для экземпляра класса. Результат всегда false

SHA 759239b3ca4c4cc68860047ffd9076508d784fba
Priority 3
Title Используется нестрогое равенство
Category Reliability
Description

Любое правдивое значение res приведет ко входу в цикл. Лучше использовать более явное условие.

SHA 759239b3ca4c4cc68860047ffd9076508d784fba