Блог студента

ТОП - 5 глупых ошибок новичков при написании кода!

Всем привет от уже матерого программиста) Целых 2 недели на Hexlet) За это время уже сдал на проверку первый проект. После окончания проверки уже отпишу свои впечатления о нем.

А сейчас мои ТОП - 5 глупых ошибок новичков. Все они связаны с синтаксисом, но заставляли очень понервничать при их поиске, может кому-то сбережет чуть времени и нервов)

1.Пропуск "$" перед переменной

Перед php я начинал js, и уже успел привыкнуть что переменные без "$", поэтому таких ошибок я допускал очень много!

Например, объявили функцию

function getIn(data, $keys) {
    //some code
}

но пропустили знак "$" перед "data". Эту ошибку можно отловить по следующему выводу в OUTPUT: PHP Parse error: syntax error, unexpected ','

2. Пропуск ";" в конце строки

Например, объявили 2 переменные

$a = 5
$b = 4;

пропустили ";" на первой строке. Эта ошибка выведится в OUTPUT следующим образом:

PHP Parse error: syntax error, unexpected '$b' (T_VARIABLE) in Test.php on line 2

Обратите внимание, что OUTPUT жалуется на 2 строку, будьте внимательны)

3. В цикле for использовать "," вместо ";".

Тоже иногда смотрел номер строки, где ошибка и не понимал, что же там ни так. Например, как НЕ правильно:

for ($i = 0, $i < 100, $i++) {
    echo $i;
}

OUTPUT выведет следующее:

PHP Parse error: syntax error, unexpected ')', expecting ';' in /usr/src/app/src/Arrays.php on line 1

Правильно:

for ($i = 0; $i < 100; $i++) {
    echo $i;
}

4. Открытие фигурных скобок тела функции на той же строке где и имя функции

Это не ошибка, в принципе, но LINTER будет ругаться, а это значит, что это стилистически не правильно. Пример, как НЕ правильно:

function getIn($data, $keys) {
    //some code
}

Ошибка в LINTER: 1 | ERROR | [x] Opening brace should be on a new line

А правильно:

function getIn($data, $keys)
{
    //some code
}

5. Пробелы в конце строки

Тоже не ошибка, но стилистически не правильно и LINTER выдаст ошибку. Эти пробелы тяжело увидеть. Но LINTER не спит) Например, как НЕ правильно:

function getIn($data, $keys)
{    //тут пробелы
    //some code
}

Ошибка в LINTER: 2 | ERROR | [x] Whitespace found at end of line

Ну и следовательно правильно без этих пробелов.

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

Допускайте ошибки, но быстро их определяйте и исправляйте)

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →