
Ser
06.11.2016
18:38:17

Artur
06.11.2016
18:38:21
да но понять 1 иф в 10 строк проще, чем размазанное по 10 функциям логика с кучей варов

Marat
06.11.2016
18:38:30
Не надо

Artur
06.11.2016
18:38:44
так размазанное никогда не кратное

Google

Artur
06.11.2016
18:38:49
оно всегда с коэфициентом
10 строк разворачиваются в 5 экранов
иначе это вообще не повод для дискуссии

Marat
06.11.2016
18:39:14
"размазанный" код лучше по всем параметрам

Artur
06.11.2016
18:39:40
надо уметь работать с кодом а не примитивными конструкциями с кучей того что надо держать в голове

Marat
06.11.2016
18:39:56
Все попилено на простую логику, всё покрыто тестами, поломки сразу очевидны
Хреновый код трудно тестами покрывать. "один иф" из примера выше сделает только боль, страдание и желание сменить персонал ?

Artur
06.11.2016
18:41:35
так нет смысла мазать 10 условий в ифе в 3 метода покрытыми тестами

Vadim
06.11.2016
18:41:50

Artur
06.11.2016
18:41:55
хотя 10 условий в реальном мире конечно не бывваает
обычно 2-3 и они точно так же мажутся в 10 раз

Vadim
06.11.2016
18:42:06
Всплакнул :(

Google

Artur
06.11.2016
18:42:38
return (
[ 'result' => false ]
+ (
!env('APP_DEBUG') ? [] : [
'error' => [
'class' => get_class($e),
'message' => $e->getMessage(),
'trace' => array_merge(
[$e->getFile() . ':' . $e->getLine()],
array_filter(explode('#', $e->getTraceAsString()))
),
]
])
+ (array) $this->response_add
);
вот взял первопопаввшееся из своего проекта
это не совсем то, что я имею ввиду

Ser
06.11.2016
18:43:09
Ну вот это вот нечитабельный пиздец как по мне оО

Salavat
06.11.2016
18:43:27

Artur
06.11.2016
18:43:37
просто рендко попадаются действительно спорные моменты

Vadim
06.11.2016
18:44:11
Тернарки и прочее уместно в реткрне только в очень простых ситуациях

Artur
06.11.2016
18:44:12
надо искать
ты просто не умеешь

Vadim
06.11.2016
18:45:29
Уметь и не уметь это хорошо, но надо чтобы все могли понять код, желательно даже вечером поздно
Писать простые конструкции, даже если это увеличивает портянку - круто

Marat
06.11.2016
18:46:22
А еще могли отладить и расширить
И тд

Artur
06.11.2016
18:46:30
чёт ни 1 примера в проекте не вижу
плохого кода, на грани

Vadim
06.11.2016
18:47:10
Ну в одного это другой вопрос)

Salavat
06.11.2016
18:47:18

Google

Artur
06.11.2016
18:47:27
а когда он размазан начинаешь умственно пытаться его оптимизировать
собираешь в кучу
тратишь время
вырезхать из ифа и размазатькуда быстрее
жто моя практика

Ser
06.11.2016
18:48:18

Marat
06.11.2016
18:48:20

Artur
06.11.2016
18:48:22
у меня некоторого рода фиксация на оптимизацию
рефакторинг долже работать БЕЗ контекста

Ser
06.11.2016
18:49:10
Я вот ща рефакторю у себя либу, кода в 2 раза больше стало, зато чрезе 2 месяца разработки будет в 3-4 раза меньше чем могло бы и я не охренею это читать )

Artur
06.11.2016
18:49:11
иначе это называется реинженеринг

Marat
06.11.2016
18:50:03

Artur
06.11.2016
18:50:12

Marat
06.11.2016
18:51:07
Что именно?

Artur
06.11.2016
18:51:21
вынести условие APP_DEBUG ниразу не оптимизация читабельности

Google

Artur
06.11.2016
18:51:23
но ты попробуй

Ser
06.11.2016
18:51:54
рефакторинг долже работать БЕЗ контекста
ну такое... Просто ну как по мне это пиздец полувселенского масштаба... Я не могу повериь что нужно именно в таком виде отправлять пакет и обязательно его собирать в последний момент, а не подготовив по пути к финишу...

Artur
06.11.2016
18:51:57
простейший тупейший пример с тупо-отладкой аякса

Marat
06.11.2016
18:52:04
Не не, я пас. Не хочу лезть в это

Artur
06.11.2016
18:52:15
то чувство когда я бы размазал это за 10 сек

Евгений
06.11.2016
18:53:07

Admin
ERROR: S client not available

Artur
06.11.2016
18:53:12
когда 1 из 1- запросто
у нас любят устраивать охоту на стрелочников

Marat
06.11.2016
18:54:20
Конечно зависит от проекта. Если ты его пишешь, чтобы разово задачу выполнить, то всем пофиг и не важно что и как, но я бы не хотел с таким кодом работать

Artur
06.11.2016
18:54:22
там даже сложностей нет
это читается в функции
размазать па пару-тройку действий ваобще не проблема
равно как и прочитать беглым взглядом

Google

Artur
06.11.2016
18:55:57
слишком просто чтобы являтся камнем преткновения
но считается неприемлимым

Marat
06.11.2016
18:56:28
Просто покрой это тестами и сам увидишь в чем суть атомарного кода

Artur
06.11.2016
18:56:52
функцию в целом а не иф

Marat
06.11.2016
18:57:56
Кстати, глянь whoops

F01134H
06.11.2016
18:58:01
надо каждую переменную, каждую итерацию отслеживать
каждую единичку и нолик

Marat
06.11.2016
18:58:19
Прикольная штука для вывода ошибок
https://github.com/filp/whoops

Quiss
06.11.2016
19:00:32
Ларавельщики использовали это, ещё до того как это стало мэйнстримом
так что не удивил

Marat
06.11.2016
19:01:31
И не пытался. В коде выше костыли по выводу ошибок были

Quiss
06.11.2016
19:01:39
Костыли наше всё.

Marat
06.11.2016
19:02:09
Так пусть хотя бы одинаковыми будут ?

Artur
06.11.2016
19:03:10
я пробовал

Vadim
06.11.2016
19:04:57
Ох, раз такой холивар про экономию, то мне интересно отношение к приватному конструктору, фабричному методу без аргументов и куче сеттеров :)

Artur
06.11.2016
19:05:17
сеттеры збс

Vadim
06.11.2016
19:05:28
Я для себя недавно понял, что это оверхед на начальном этапе большой, но очень удобно

Artur
06.11.2016
19:05:34
а фабрика "внешняя" спорная штука