All streams
Search
Write a publication
Pull to refresh
40
0
Роман Сохарев @greabock

Разработчик

Send message

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


 function foo() {
     return [
         'baz',
-        'bar'
+        'bar',
+        'qux'
     ];
 }

 function foo() {
     return [
         'baz',
+        'qux',
     ];
 }

Учитывая, что мы просто добавили qux, второй вариант выглядит несколько лаконичнее.

Я очень плотно сижу на G-экосистеме. Даже не знаю, можно ли сейчас с неё слезть.

Что не так с требованиями бизнеса не проводить операцию при невозможности записать логи?

С требованием бизнеса всё норм. Только вот это уже не логгер. Потому что логгер не про бизнес вообще.


Я попробую метафорой.


Атомарное действие в php (будь то HTTP запрос или какая-консольная команда, если она не демон). Это как поезд который идет из точки А в точку Б.


Логгер — это как самописец в поезде. Вы же не станете жать экстренное торможение, только потому что самописец отказал? Вы даже не можете знать, что он отказал.


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


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


Возвращаясь к миру PHP: Вы пытаетесь реализовать транзакции — это хорошо. Вы не можете отличить логирование от транзакционных операций — это плохо.

PSR — это и есть ± общепринятый стандарт.


Поддерживать код тяжелее не станет

Если код сложнее читать — его сложнее поддерживать. Читать его сложнее программисту, который привык писать по стандарту (с долей вероятности превышающей 50% — PSR) отличному от стандарта который вы используете.


И да, если ваш логгер бросает исключения, которые (внезапно!) должны логироваться, то честное слово — у вас проблемы побольше чем выразительность PSR. И, пожалуй, я могу понять если это легаси, с которым приходится жить. Но в новых проектах так делать нельзя.

PSR — всего лишь рекомендации — вы не обязаны их соблюдать.
GRASP — всего лишь шаблны — вы не обязаны их использовать.
SOLID — всего лишь принципы — вам не обязательно им следовать.


Подпишусь под каждым утверждением.


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

Не завидую разрабам, которые к вам будут приходить или от вас уходить. Весь мир пишет по PSR.

По результатам выборов в PHP-FIG новый core-комитет составят Korvin Szanto, Enrico Zimuel, Chris Tankersley и Massimiliano Arione с секретарём Buster Neece.

Кто все эти люди?

В целом согласен (плюс/минус), кроме пункта про слитую карму. Эта проблема действительно существует. Один неосторожный комментарий идущий в разрез с мнением коллективного сознания и, если верить индуистам, на следующей итерации сансары — вы (в лучшем случае) червяк.


Количество минусов зависит от степени экспрессивности комментария, угла между векторами мнений, резонансности поста, а также положения звезд на небе (но это не точно).

Я и не говорил, что она "очень". Я сказал, что проблема размазанности не от этого )

А еще:
https://www.php.net/manual/en/reflectionmethod.setaccessible.php
https://www.php.net/manual/en/function.utf8-encode
https://www.php.net/manual/en/function.urldecode
https://www.php.net/manual/en/function.get-object-vars
https://www.php.net/manual/en/class.jsonserializable


Да что там мелочиться. Можно, в принципе, поставить вот так:
https://www.php.net/manual
И будет норм. Это не сарказм. Я вполне серьезно считаю, что надо прочитать всю доку хотя бы раз (возможно, пропуская специфичные разделы экзотических расширений).


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


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

Хороший материал. Добро пожаловать!

Я "подсаживался" в офис к логистам. Просто пришел и спросил можно ли у них место снять (при том, что они и сами офис снимали) — не отказали )

Отлично, ждем следующего материала.

Да не, я без претензий, и плюс материалу поставил. Просто есть устоявшееся выражение "битовая маска", которое более менее описывает, что здесь происходит. Но за весь текст оно не встречается ни разу. Только это и вызвало такой диссонанс. А походу текста складывается впечатление, что это рокет-сайнс какой-то )
Плюс, не хватает немножко практического sql, сравнения непосредственно с битовой маской (если бы мы сразу хранили все значения в маске) и фильтрацией по a^b. Ну это на заметку если вы хотите следующий материал по этой же теме писать.

Вы так круто всё это развернули. Я даже не сразу понял, что речь идет о банальной битовой маске. Ближе нужно к народу-то быть )

Вообще не понял о чем материал… для меня всё просто:
Переменная — это переменная. И не важно меняю я ее значение в коде или нет. Сейчас я не хочу её менять, а завтра захочу.
А константа — это константа. Ее значение не зависит от того, что хочу я или еще кто-то. Оно просто есть. Как те самые ПИ, постоянная Эйлера, количество дней в неделе, количество градусов полного угла, и т.д. и т.п. Константы инвариативны по определению.


В общем, я не очень понимаю откуда путаница. И я даже не встречал сторонников "const-first" ни разу. Думается мне, что это довольно занимательные зверьки.

Текст вышел длинным

Текст вышел коротковатым, как по мне. Как будто на середине оборвался

Таки вакуум ни вытечь ни натечь по определению не может.

Information

Rating
Does not participate
Location
Россия
Registered
Activity