/
Блог
/
Дневник студента
/

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

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

18 июля 2019 г.
1 минута
2

Всем привет от уже матерого программиста) Целых 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

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

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

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