OneCode
1.33K subscribers
680 photos
69 videos
3 files
567 links
Full Stack на PHP, Laravel и всё, что с этим связано.
YouTube: https://www.youtube.com/@onecode_blog
Download Telegram
При написании кода нельзя спешить. Нужно перечитывать его, изменять, уделяя внимание мелочам. Код должен писаться тщательно, с душой.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍10
Мы - авторы кода. Авторы всегда пишут для читателей. Значит мы тоже пишем свой код для читателей, поэтому несём ответственность за то, чтобы хорошо изложить свои мысли. Часто мы сами становимся читателями своего старого кода в будущем.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍6
У бойскаутов существует простое правило, которое применимо и к нашей профессии:

Оставь место стоянки чище, чем оно было до твоего прихода.

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

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍151🔥1
Одно из различий между умным и профессиональным программистом заключается в том, что профессионал понимает - ясность превыше всего. Профессионалы используют свою силу во благо и пишут код, понятный для других людей.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍11
На заметку ☝️
👍15🔥7
«Сначала художник рисует просто и плохо. Потом сложно и плохо. Потом сложно и хорошо. И только потом просто и хорошо».

Илья Ефимович Репин, русский живописец, педагог, профессор.
👍13
Laravel - это фреймворк для разработки веб-приложений с выразительным, элегантным синтаксисом.

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

Основные фишки
- Базы данных
- Кеширование
- Очереди задач
- Локализация
- Валидация
- Аутентификация
- Авторизация
- API и OAuth
- WebSockets
- Уведомления
- Тестирование
- Логирование
- Шаблонизация
- Работа с файлами
- Обработка ошибок
- Консольные команды
- Полнотекстовый поиск
- События и подписчики
- Иньекция зависимостей
- Управление серверами
- Отличная документация
- Деплой без простоя
- Тысячи пакетов

Мощный инструмент, с которым приятно работать 👍

Подпишись: @onecode_blog
14🔥6
Первое правило: функции должны быть компактными.
Второе правило: функции должны быть еще компактнее.

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

Я могу всего лишь сказать, что я почти четыре десятилетия писал функции всевозможных размеров. Мне доводилось создавать кошмарных монстров в 3000 строк. Я написал бесчисленное множество функций длиной от 100 до 300 строк. И я писал функции от 20 до 30 строк.

Мой практический опыт научил меня (ценой многих проб и ошибок), что функции должны быть очень маленькими .

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍9🤔2🌭1
👍16🔥8🤣1
Трудно переоценить пользу хороших имен функций. Вспомните принцип Уорда: «Вы работаете с чистым кодом, если каждая функция в основном делает то, что вы от нее ожидали».

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

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

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

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍14
Новое видео, в котором показываю один из вариантов организации кода в наших проектах на Laravel 🔥

- Простой и гибкий спооб где писать код, если не в контроллерах и моделях.
- Регистрация юзера через форму, по API и в консольной команде (CLI).
- Как лучше работать с данными и почему массивы - это плохо.

Видео доступно в VIP канале для акционеров 🙏

#vip
Please open Telegram to view this post
VIEW IN TELEGRAM
14
День из жизни разработчика 👨‍💻

https://youtu.be/pqy84l4nQ-Q

Подпишись: @onecode_blog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Laravel Blade Snippets

Полезное расширение VSCode для подсветки и автозаполнения директив в blade-шаблонах.

https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade

Подпишись: @onecode_blog
🔥8👍2
В идеальном случае количество аргументов функции равно нулю (нульарная функция).

Далее следуют функции с одним аргументом (унарные) и с двумя аргументами (бинарные). Функций с тремя аргументами (тернарных) следует по возможности избегать.

Необходимость функций с большим количеством аргументов (полиарных) должна быть подкреплена очень вескими доводами — и все равно такие функции лучше не использовать.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍7
Аргументы-флаги уродливы. Передача логического значения функции — воистину ужасная привычка. Она усложняет сигнатуру метода, громко провозглашая, что функция выполняет более одной операции. При истинном значении флага выполняется одна операция, а при ложном — другая.

Вызов метода
render(true)
откровенно сбивает с толку бедного читателя. Если навести указатель мыши на вызов и увидеть
render(bool $test)
, ситуация слегка проясняется, но ненамного. Эту функцию следовало бы разбить на две:
render()
и
renderForTest()
.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍7
Какая же интересная штука - программирование. Иногда хочется читать, смотреть, изучать и писать код целыми днями! Иногда, конечно, устаёшь, но не часто 😀

Прикольная статья с примерами кода о том, как два разработчика решили одну и туже задачу по-разному: https://laravel-news.com/two-developers-approach-the-same-problem

Какой вариант тебе кажется лучшим? Свой, третий? 😁

Хорошего дня, ребят!
👍8🤔2
Если функция должна получать более двух или трёх аргументов, то весьма вероятно, что некоторые из этих аргументов стоит упаковать в отдельном классе.

Исходная функция:
makeCircle(float $x, float $y, float $radius): Circle;


Доработанная функция:
makeCircle(Point $center, float $radius): Circle;


Если переменные передаются вместе как единое целое (переменные
$x
и
$y
в первом примере), то, скорее всего, вместе они образуют концепцию, заслуживающую собственного имени.

Роберт Мартин, Чистый код #clean_code

Подпишись: @onecode_blog
👍9🔥1
Кидать ещё цитаты из книги?
Anonymous Poll
84%
Ага
16%
Неа
🔥1
Картина, нарисованная через тени в CSS

https://codepen.io/jaysalvat/pen/kazzOj?editors=1100

Подпишись: @onecode_blog
👍7🔥4
Недавно разрабатывал на Laravel робота для торговли на криптовалютной бирже.

Сейчас запустил 2 роботов по 50$ для тестирования - посмотрим что получится.

Функционал еще нужно дорабатывать, но пока пусть колбасит как есть.

Подпишись: @onecode_blog
👍9