Как читать код

Моя самая большая мечта при смене работы: узнать все о проекте самостоятельно. Не задать ни одного вопроса, а просто потратить немного времени на изучение материалов.

Я стремлюсь к ней. И если готовых материалов на проекте может не быть, то код есть всегда. Поэтому я читаю код.

Я не разработчик. Я прихожу иногда на проекты с языками программирования, которых совсем не знаю. Но оказалось, что разобраться в синтаксисе любого языка за пару дней совсем несложно. Давайте попробуем на примере PHP, потому что именно PHP я встретила впервые совсем недавно.

С чего начать

Все же знают разницу между фреймворком, библиотекой и языком программирования? Я предпочитаю начать изучать репозиторий с кодом с документации фреймворка, на котором он написан. В моем случае это Laravel.

Как читать документацию

  1. Начните с прочтения оглавления. Может оказаться, что похожие сущности вы уже встречали в других фреймворках.

    Если в оглавлении нет ни одного знакомого слова, ничего страшного. Уверена, что вы сможете разобраться после прочтения самих страниц.

  2. Прочитайте разделы Введение или Начало работы. Такие разделы дадут вам общее представление о фреймворке.

  3. Если у вас появились или уже были более конкретные вопросы, то не бойтесь открыть соответствующий раздел и прочитать его тоже. Знания лишними не бывают.

Скорость чтения взрослого человека — примерно 200 слов в минуту. Даже если кажется, что на странице много текста, поверьте, обычно прочтение не занимает больше 5–7 минут.

Для меня было интересно, что в Leravel многие действия происходят через фасады. Я очень многое узнала про логирование и тестирование в Laravel. Я узнала про организацию папок в репозитории.

Благодаря еще и хорошему неймингу на нашем проекте, теперь я легко разбираюсь, за что отвечает любой файл, в котором я нахожусь. С фреймворком разобрались. А что с PHP?

Как работать с неизвестным синтаксисом

Больше всего меня удивили в PHP стрелочки: => и →. Я совершенно не понимала, как они работают.

Пример кода на PHP со стрелочками:

 "Hello, $name!";

echo $greetArrow('World') . PHP_EOL; // Output: Hello, World!

// 2. Associative Arrays

// Creating an associative array using => operator
$user = [
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
];

// Accessing values using the key
echo $user['name'] . PHP_EOL; // Output: John Doe

// 3. Class Properties with Arrow Function

class User {
    public $name;
    public $age;

    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }

    // Method using arrow function for concise syntax
    public function getFullName(): string {
        return $this->name . ' (' . $this->age . ')';
    }
}

$user = new User('Jane Doe', 25);
echo $user->getFullName() . PHP_EOL; // Output: Jane Doe (25)

?>

Я не знаю, кто это придумал Но мне пришлось воспользоваться аж тремя источниками информации, чтобы разобраться: Stack Overflow, прекрасная разработчица Таня и ChatGPT. В тот момент, когда я поняла, что все три источника несут одну и ту же информацию, я убедилась, что поняла правильно.

Как использовать ChatGPT

ChatGPT можно задавать любые вопросы, например, «Что это за стрелочки в PHP?». Но самое простое его использование: если вы дадите ChatGPT кусок кода, он интерпретирует его максимально подробно.

Чтобы интерпретировать код с помощью ChatGPT:

  1. Введите фразу: «Объясни мне код:».

  2. Вставьте код и ждите ответ.

Готово, у вас есть объяснение для кода. Только будьте внимательны, иногда ChatGPT может приврать где-нибудь.

Как использовать Google или Яндекс

Для некоторых вопросов и ChatGPT не нужен, погуглите немного, и Stack Overflow может дать ответ про те же стрелочки, например.

Чтобы найти информацию про разницу между стрелочками в PHP:

  1. Введите запрос: stackoverflow arrows PHP difference.

  2. Откройте первую страницу в рекомендациях.

Готово, вы нашли страницу с информацией о стрелочках.

adaba80df0815b54bfe54bd5bfee0d89.png

Заключение

Я никого не призываю избегать коллег и пытаться во всем разобраться самостоятельно. Уметь работать в команде тоже надо.

Я бы просто хотела этой статьей сподвигнуть вас (и себя) иногда потратить чуть больше времени на самостоятельный поиск. Самостоятельный поиск повышает качество вопросов, и вы сами узнаете что-то новое, что может понадобиться позже даже если не нужно сейчас.

Давайте искать самостоятельно.

© Habrahabr.ru