
Denis
25.07.2016
19:17:21
что-то поздно :)

Alex
25.07.2016
19:18:13

Руслан
25.07.2016
20:43:17
что за тренд? :)

Roman
25.07.2016
20:57:07
А чо, линуксовка в эту среду?

Google

Alex
25.07.2016
20:59:34
Да

Roman
25.07.2016
21:02:25
Збс!
Ты прнс?

Dan
25.07.2016
21:11:12
Линуксовка там же? Я таки должен показаться вам

Sunlight
25.07.2016
22:03:35
блин, касяк, двойной клик мышкин фиксится только на ЛКМ
на правой все как было
if (wParam == WM_LBUTTONDOWN) {
нада доделоть
http://www.cnews.ru/news/top/2016-07-22_iphoneipad_i_mac_mozhno_vzlomat_s_pomoshchyu_kartinok
было уже?

Phil
25.07.2016
22:33:31
мля.у меня естьубунта.и диск с лвмом. чтл надо кликнуть, чтобы подцепиьь юего?

Vitaliy
25.07.2016
22:43:17
mount?

Alex
25.07.2016
23:08:08

Google

Alex
25.07.2016
23:08:10
Посоны
Мне надо с кем-то поговорить

Karter
25.07.2016
23:08:22
Йо.

Alex
25.07.2016
23:08:31
Смотрите, у меня был скрипт разбора неких данных
Занимал он то ли два, то ли три экрана и был pretty straightforward
Возможно, потому что я его сам написал
Возможно, потому что он был в старом добром тупом императивном стиле
Таких скриптов должно было бы быть то ли четыре, то ли пять, для разных провайдеров данных разный
В целом, в алгоритмах разбора были похожие места
И вот мы наняли падавана
И падаван сделал базовый класс, вынеся в него кусочки алгоритма, которые ему показались одинаковыми
И вынес в базовый класс структуры данных
И теперь у меня есть наследование, херова гора функций в двух файлах, разбитых хуй пойми как и делающих хуй знает что
И мне нужно понять - это я тупой старый ретроград?
Или падавана необходимо изолировать и уничтожить

Karter
25.07.2016
23:12:58
А падаван студент?

Sunlight
25.07.2016
23:14:02
вдруг он в чатеке сидит

Alex
25.07.2016
23:15:10
вдруг он в чатеке сидит
Не для того я работал экспертом по инфобезу, чтобы он в чатике сидел
То есть - да, сидит, но не в этом

Karter
25.07.2016
23:15:47

Google

Karter
25.07.2016
23:15:55
И выпускники.

Alex
25.07.2016
23:16:03
В целом, что делает код, я понимаю, но меня нечеловечески раздражает, когда логика нарезана на небольшие куски
И раскидана по разным концам

Vitaliy
25.07.2016
23:17:38
Саш, смотри на логичность абстракций. Если они понятны по отдельности — всё ок, если нет — бить по рукам

Alex
25.07.2016
23:18:34
Да я вот не знаю, логичность абстракций - слабо измеримое понятие

Vitaliy
25.07.2016
23:19:14
вполне легко. можно ли понять, что происходит и как это работает, если не смотреть на другие классы

Alex
25.07.2016
23:20:06
Вот смотри, на тему логичности

Vitaliy
25.07.2016
23:20:22
кстати, за это наследование ныне не модно, так как нарушает инкапсуляцию и мешает понять дочерний класс без родителя

Alex
25.07.2016
23:20:47
https://gist.github.com/alexclear/8f63045a6536cc17c71ecf8681e9d1c8
Ну - я во первых строках написал следующее
# Inheritance was prohibited by Erich Gamma et al. years ago
Но вот этот кусок выше показывает, что коллеге сложно держать в поле зрения десяток строк

Alex
25.07.2016
23:22:02
Поэтому он лепит функции размером в три строки и клеит логику из них
Кажется, джаваскриптеры этим болеют

Vitaliy
25.07.2016
23:23:35
так все по канону, всякому Макконнеллу

Roman
25.07.2016
23:24:15

Alex
25.07.2016
23:24:35

Vitaliy
25.07.2016
23:24:39
если в функции все вызовы одного уровня абстракции и ДЕЙСТВИТЕЛЬНО понятны по названию — почему нет

Alex
25.07.2016
23:24:48
Ну - я выше показал кусок кода

Vitaliy
25.07.2016
23:25:01
нормальный код

Google

Alex
25.07.2016
23:25:17
Функция file_path приватна и используется однократно
Почему ее не заинлайнить?
WTF?

Vitaliy
25.07.2016
23:25:41
Саш, ты константы тоже инлайнишь
?

Alex
25.07.2016
23:26:23

Roman
25.07.2016
23:26:24
Я вот сам себя упрекаю за функции - хелперы считающие всякие хеши, но у меня они делают ровно что мне надо: вот тебе файл на диске, посчитай хеш

Alex
25.07.2016
23:26:40
# Why do we need non-abstract "call" method and abstract "main_process" method?
# Abstractize "call" and save a few of lines of code
def call
# NOTE: для каждого партнера свой main_process
main_process
end

Vitaliy
25.07.2016
23:26:45
а вот цивилизованный мир вокруг уже нет

Admin
ERROR: S client not available

Alex
25.07.2016
23:26:45
Комментарий сверху - мой
Зачем алгоритм-то было на куски резать, причем, там же дебилизм, смотрите

Roman
25.07.2016
23:27:59

Vitaliy
25.07.2016
23:28:02
а можно сократить посредников и сразу везти пациента в морг

Alex
25.07.2016
23:28:07
В базовом классе хелперы только
А сам цикл обработки свой для каждого провайдера
ЭТО ЖЕ ЕБАНИЗМ

Vitaliy
25.07.2016
23:28:33
если серьёзно, то константы удобны, даже если вызываются один раз
потому что сразу понятно, что крутить, не читая всю простыню кода

Google

Alex
25.07.2016
23:29:23

Vitaliy
25.07.2016
23:29:25
смотреть надо
если хелперы действительно понятно что делают по названию, и это понимание однозначно — он сделал все обработчики гораздо понятнее

Roman
25.07.2016
23:30:18

Vitaliy
25.07.2016
23:30:33
хотя лучше конечно чистые функции без наследования
потому что внезапно оказывается, что через 2 года в проекте 2 раза сменилась команда

Alex
25.07.2016
23:32:00
Ну - он сидел над этой херней неделю или две
Мой скрипт разбора делал все то же, что и его скрипт
То есть - пока это был просто рефакторинг

Vitaliy
25.07.2016
23:32:12
и разобраться в чужой императивной лапшу дороже, чем переписать

Alex
25.07.2016
23:32:38
В одном файле 110 строк, в другом - 101

Vitaliy
25.07.2016
23:32:39
такой рефакторинг — отличная работа на час

Alex
25.07.2016
23:32:43
Неделя или две работы

Vitaliy
25.07.2016
23:32:53
очень полезная
что он делал остальное время — вопрос к тебе и твоему владению паяльником
допустим, день разбирался

Alex
25.07.2016
23:34:39
В моем скрипте было 43 строки
Из них 20 строк - комментарии

Vitaliy
25.07.2016
23:35:16
какая разница сколько строк в коде? важно, сколько строк надо прочитать, чтобы понять что происходит
и насколько сложно это сделать

Alex
25.07.2016
23:35:31
Ну вот 43 строки прочитать is not a big deal

Vitaliy
25.07.2016
23:35:38
это согласен
пока это не 43*6 копипасты