Макс из Софи – Telegram
Макс из Софи
9.96K subscribers
1.25K photos
55 videos
7 files
913 links
Автоматизировал поиск работы - https://sofi-assistant.com/landing/

Написать мне в лс: @maxim_primak

№ 4988474654
Download Telegram
Макс из Софи pinned «Выбирай язык!»
Небольшой апдейт по проекту.

Пока вы выбираете, какой язык попадет на нашу ревью сессию, я хотел бы рассказать об итогах каст-дева, который я проводил на позапрошлой неделе.

Хотел бы поблагодарить каждого, кто откликнулся на мой пост. Вы играете огромную роль в создании этого приложения!

Я успел провести 20 встреч в зуме, со всеми познакомиться и расспросить каждого о наболевшем. Это очень сильно помогло мне понять картину: кто и как будет пользоваться этим приложением.

Сейчас мы пытаемся решить проблему связанную с NDA. Многие просто не могут показать свой код другим разработчикам. И скорее всего эта проблема должна решаться через диалоги с тим-лидами.

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

Если у вас есть выход на знакомого тим-лида, или же вы сами тим-лид, который заинтересовался этой идеей, то напишите мне на @max_primak. Я был бы очень вам благодарен!
Результаты голосования.

Более 450 человек приняло участие в голосовании и около 200 человек (47%) проголосовало за PHP. Это круто, так как у нас есть целых два коммита от разных разработчиков.

Завтра днем выйдет пост, в котором будут ссылки на эти коммиты на Github, с небольшим описанием ключевых классов и методов.

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

У нас будет 72 часа, чтобы оставить свое ревью и оценить ревью других людей (👍/👎).

Затем мы подведем результаты сессии, где увидим и разберем ревью, которые набрали больше 👍.

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

Но что делать тем, кто проголосовал за другой язык?

1) Все равно принять участие в ревьюенге, если вы этого хотите.

2) Дождаться следующей ревью сессии, на которой мы разберем уже другой язык.

#код_ревью_сессия
Код-ревью сессия #1 🧑‍💻

Ну что же, мы начинаем нашу первую сессию. (немного волнуюсь.)

👉 Коммит #1

Первый коммит прислал нам Rustam. Проект написан на PHP + Laravel. Это открытая CRM, которая облегчает работу с клиентами, позволяет вести проекты и создавать таски.

Основное ревью будет по TaskController (CRUD тасков в приложении) и ClientController (CRUD клиентов). В нем также будут классы типа ClientStoreRequest или TaskStoreRequest, которые отвечают за валидацию реквеста.

В этом коммите есть много Blade файлов, но мне кажется ревью их будет довольно скучным, но если кому-то захочется, то welcome.

👉 Коммит #2

Следующий коммит нам прислал Wterh. Реальный пример из его проекта (биржа копирайтинга), который написан на чистом PHP. В нем всего один файл с одним методом, который отвечает за поиск свободных ссылок в базе, и если их нет, генерирует новую ссылку. Используется при изменении статуса задания.

Все вопросы по ходу сессии можете задавать в нашем чате.

#код_ревью_сессия #php
Друзья, напоминаю!

Осталось меньше 24 часов, чтобы еще успеть оставить свое ревью на коммит#1 на PHP + Laravel и коммит#2 на PHP, а также проголосовать за понравившиеся вам комментарии (👍/👎). Вся инфа в посте выше.

А уже завтра мы подведем итоги нашей первой ревью сессии, выделим ключевые моменты из оставленных комментариев и отметим наиболее активных ревьюеров, которые принимали участие в сессии.

P.S
Накидайте ребятам звезд на их проекты на гитхабе за то, что они первые решились отдать свой код п̶о̶д̶ ̶о̶б̶с̶т̶р̶е̶л̶ на ревью, им будет приятно.

#код_ревью_сессия #php #laravel
Итоги первой код-ревью сессии. 🚀

🙏 Ребят, хотел бы поблагодарить всех, кто принял участие в нашей сессии.

Отдельное спасибо Rustam и Wterh, что первыми прислали свои коммиты на ревью. Также огромный респект тем, кто уделил свое время и оставил ребятам ревью на их код. Надеюсь, что это было полезно для всех.

В общей сложности около 20 человек оставили более 103 комментариев, просто анрил!

Лично я остался очень доволен тем, как все прошло. Думаю мы получили максимально возможное количества фидбэка.

✌️Вот список всех, кто оставил свои комментарии

Pingvi
nilBora
karabash22
inspierens
ObuhovToplyvoApp
R1KO
maxprimak
SnusnumrConceit
AndreyGel
AndreyZakhvatoshin
yakoffka
muyassarov
LeftTwixWand
andrew-demb
lis-dev
QoreCode
valeriy-bendatiy-toplyvo
Ckoetael
UshakovOleg

ℹ️ Чуть позже я выложу два поста с итогами и разбором комментариев по каждому из коммитов.

🔥 Накидайте, пожалуйста, свою реакцию ниже, чтобы я понимал, насколько вам зашел подобный формат, и в правильном ли направлении мы двигаемся!
👉 Коммит #1

💬 Основной посыл комментариев:

1. Валидация.
Иметь более полную и точную валидацию реквеста, чтобы избежать непредвиденных ошибок.

2. Использование встроенных функций Laravel.
RouteBinding, $request->validated(), protected $casts и $perPage в модели, return withSuccess() и тд.

3. Обработка ошибок.
Добавление кастомных Exceptions позволит точно понять юзеру, что именно пошло не так.

4. Локализация.
Использование Localization в Laravel позволит удобнее использовать и хранить переводы.

5. Стили.
Придерживаться одной стилистики написания кода (пробелы, отступы, и тд.).

6. Уменьшить объем коммитов.
1 Коммит = 1 фитча. Такой подход позволит быстрее релизить функции и упростит процесс code review.

7. Сервисы.
Добавление отдельных сервисов и вынесение некоторой логики из контроллеров.

🏆 Хотел бы выделить следующих ревьюеров:

1. nilBora - за комментарий набравший 7 👍
2. SnusnumrConceit - за очень информативные и подробные комментарии.
3. R1KO - за активность и количество комментариев.
👍1
👉 Коммит #2

💬 Основной посыл комментариев

1. Разделить код.
Большой метод сложен для понимания. Лучше разделить его на несколько небольших функций.

2. Точные параметры функции.
В функцию лучше передавать конкретные параметры, с которыми она взаимодествует.

3. Одна обязанность метода.
Каждый метод должен отвечать за одну конкретную функцию. Метод getLinks должен возвращать ссылки, а не искать их.

4. Точный результат работы метода.
Метод должен возвращать результат одного типа. Boolean/int/void и тд.

5. Код не должен повторяться.
Если один и тот же код встречается несколько раз, то значит его нужно выделить в отдельный метод.

6. Декларирование переменной.
Задавай переменные непосредственно перед их использованием, а не в начале метода.

7. Стиль и читаемость.
Понятные комментарии, там где они нужны. Точное название переменных и функций.

🏆 Хотел бы выделить следующих ревьюеров

1. lis-dev - за структурированные комментарии с ссылками.
2. QoreCode - за большой объем подробных комментариев с примерами.
Как часто стоит проводить код-ревью сессии?
Anonymous Poll
36%
Два раза в неделю
55%
Раз в неделю
7%
Два раза в месяц
3%
Раз в месяц
Были ли комментарии от ревьюеров вам полезны?
Anonymous Poll
59%
Да
10%
Нет
32%
Я их не видел
Крутые новости! 🔥

📊 Мы вводим свою рейтиноговую систему.

Ревьюеры теперь смогут видеть свой рейтинг и свое место в общем списке. В таблицу ревьюеры будут попадать автоматически после того, как оставят свой первый комментарий.

🧮 Как будет считаться рейтинг?

Рейтинг = кол-во сессий + кол-во коммитов + кол-во комментариев + кол-во лайков - кол-во дизлайков + (отмечен админов x 5).

Таким образом, если вы приняли участие в 2 сессиях, оставили ревью на 5 коммитов, написали 12 комментариев, получили 25 лайков и 3 дизлайка и были выделены 2 раза админом канала, то ваш рейтинг будет равен 51.

2 + 5 + 12 + 25 - 3 + (2 x 5) = 51

🏆 Что дает рейтинг?

Мы сделаем общий призовой фонд, в который я раз в месяц буду закидывать 25$, и каждый из вас сможет также пополнять этот фонд в течение месяца. В конце месяца ревьюер, занявший первое место в ежемесячном рейтинге, заберет призовой фонд.

Ежемесячный рейтинг будет обнуляться в начале каждого месяца.

Чем выше будет ежемесячный фонд, тем лучше будет качество ревью.
Мы ищем код на ревью!💡

Друзья, теперь у вас появилась отличная возможность анонимно прислать свой код на ревью.

Мы добавили специальную форму, на которой вы можете оставлять свои заявки на ревью кода. В форме вы можете выбрать один из двух способов отправки репозитория на ревью:

1. Публично 🧑- мы выкладываем ссылку на коммит вашего репозитория на гитхабе. Все участники ревью сессии смогут видеть автора кода.

2. Анонимно 🦸‍♂️ - мы выкладываем ваш код с акканута CodeReview на гитхабе. Участники не смогут увидеть автора этого кода.

Для следующей код-ревью сессии мы выберем несколько языков, чтобы всем было интересно!

Присылайте все, что есть! 🕺
Плохие новости! 😔

❗️Около 500 человек уже увидело последний пост, через который каждый может оставить заявку на ревью кода. Проблема в том, что из этих 500 человек, свой код прислало лишь 2 разработчика. Это около 0.4% от всех, кто увидел этот пост. Это даже меньше, чем на первую ревью сессию, несмотря на то, что мы добавили возможность анонимно прислать свой код, а также увидели, что первая код-ревью сессия показала себя с хорошой стороны.

👉 Ситуация, мягко говоря, не радужная, и чтобы у нас была возможность как-то на это повлиять, нам нужно точно понять, почему люди не присылают свои коммиты.

⬇️ Внизу вы найдете опросник, который поможет нам понять точную картину, из-за чего у нас так мало коммитов. Если вы ревьюер, который хочет помогать другим, то выберете «Мне не нужен фидбэк, я хочу ревьюить.», а если же вы хотите получить фидбэк, но еще ничего не прислали, то укажите почему.
Код-ревью сессия #2🧑‍💻

А вот и вторая ревью сессия подлетела!

👉 Пулл-реквест #1
#python

Откроет нашу сессию пулл-реквест на Python от saintbyte. Простая тулза для сбора вакансий из RSS ленты хабр карьеры.

👉 Коммит #2
#typenoscript #angular

Коммит прислал нам mbogomazov. Он написал игру «крестики-нолики» на Angular.

👉 Пулл-реквест #3
#java

TimurBaldin прислал нам целый пулл-реквест на Java. Проект для генерации тестовых данных для ручного и автоматизированного тестирования.

👉 Коммит #4
#php

И последний небольшой коммит от andreaskosten на PHP. Класс DB реализует посредством гарантированно единственного экземпляра подключение к БД mysql через юзера с указанным набором привилегий.

Все вопросы по ходу сессии можете задавать в нашем чате.

У нас есть 72 часа, погнали!

#код_ревью_сессия