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

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

№ 4988474654
Download Telegram
Как часто стоит проводить код-ревью сессии?
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 часа, погнали!

#код_ревью_сессия
❗️Напоминаю, что ревью сессия в самом разгаре.

👨‍💻В коммите на PHP вы уже вряд ли найдете местечко, но вот на других коммитах еще очень много пространства для творчества. Товарищи питонисты, джависты и фронтендеры, накидайте свой фидбэк на коммиты в предыдущем посте, а также не забудьте поставить 👍 под полезными комментариями.

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

#код_ревью_сессия
Итоги сессии #2

Прошло 72 часа с начала второй код-ревью сессии, и можно подвести итоги.

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

🪚 Это только начало, и нам еще многое предстоит сделать.

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

Второй момент - соотношение PHP ревьюеров с ревьюерами на других языках. Нам явно стоит поработать над расширением Python, Java, и фронтенд комьюнити. Этим я и займусь на следующей неделе.

Таблица топ-ревьюеров уже обновлена, а завтра я выложу небольшую выжимку по коммитам.

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

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

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

2. Доработать модели
Вынести BaseModel в отдельный файл. В Vacancy добавить employment type с EnumField.

3. Нейминг
Избавиться от Helpers, чтобы поднять читаемость кода.

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

1. Задать точный тип возврата функции
Функция calculateWinner вернет X | O | null.

2. Избегать повторяемость кода
X и O используется в нескольких местах. Лучше вынести в качестве констант.

3. Неявное приведение объекта к boolean
Вместо проверки if(Winner) => isWinnerExists, и вместо this.squares[idx] => используй includes.

4. Избегать логических ошибок
makeMove будет вызывать calculateWinner, даже если ничего не изменилось.

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

fallncrlss - за информативный и структурированный комментарий для python.
QoreCode - за большой объем полезных комментариев для TypeScript
💬 Основной посыл комментариев

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

1. Отдавать предпочтение примитивным типам данных
Если нам не требются свойства или методы таких класов как Boolean или, например, Integer, вместо них имеет смысл использовать примитивные типы данных boolean и int.

2. Использовать Lombok
Эта библиотека содержит много аннотаций, которые упростят написание конструкторов, геттеров, сеттеров (и не только их).

3. Не забывать о проверках на null
NullPointerException - распространенная ошибка. Следует написать проверки на получение данных из DB и проверять полученные значения на null.

4. Обращать внимание на нейминг
Такие названия классов как Start, AppException или BaseResponse не совсем раскрывают свою суть. Следует подумать над более удачными альтернативами.

🏆 Автор кода выделил следующих ревьюеров

1. driversti
2. lixach93
💬 Основной посыл комментариев

👉 коммит #4
#php

1. Использование getter и setter
$pdo изменить с public на private или protected, и работать с ним в других классах только через getter и setter.

2. Типизация параметров
Использовать типизацию везде, где это возможно.

3. Строгое сравнение
Старайтесь придерживаться строго сравнения ===.

4. Использование встроенных функций
Например вместо !isset лучше использовать метод empty.

5. Использование отдельного файла для настроек
Не надо хардокдить настройки подключения к DB в функции. Лучше вынести все параметры в отдельный env файл.

6. Проверка уровня доступа
Вместо строк SIUD лучше использовать числовые значения. И вместо if используйте elseif или switch.

🏆 Автор кода выделил следующих ревьюеров

1. SnusnumrConceit
2. R1KO
3. lis-dev
Задания - новая фитча! 🔥

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

💡Так вот, мы придумали решение этой проблемы и запускаем новую рубрику - задания.

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

Задания будут разного уровня сложности и будут полезны как новичкам, так и более опытным программистам.

📌 Первое задание - написать GitHub парсер, который бы считал комментарии, лайки и дизлайки для каждого коммита или пулл-реквеста.

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

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

👉 Через неё вы можете отправить как сделанное задание, так и свой собственный проект на ревью.

🥷 Скинуть код на ревью можно как публично так и анонимно. Подробную информацию вы найдете тут.

Заявки на следующую сессию собираем до вечера 29 сентября.