moonkan: (Standart)
moonkan ([personal profile] moonkan) wrote2015-11-02 03:39 pm

Дыбр

Получил с утра в понедельник благодарственно письмо от клиентов за быстро и качественно сделанную в пятницу работу (знали-бы они сколько я ругался матом =) ). Приятное начало недели, да.

Сейчас вот сижу в задумчивости, что или кто могли автора побудить назвать функцию removeCandidates, если сама функция, судя по коду, этих самых Candidates добавляет? Что он курил? Нет, функция не 100 раз переписанная - специально глянул в репозитории, за 2 года с момента появления в классе вообще не поменялась. Вообще тот же автор еще в пятницу нас порадовал открытием другого укуренного куска кода.
дословно не помню, но там было что то типа :
while ((buffer.canRead() && i = buffer.readNext())>0)
(может не совсем верно процитировал, но там было именно логическое умножение булина на считанный из буфера символ и сравнение этой операции с нулем ...)
Задавались втроем с коллегами ровно тем-же вопросом, что я сегодня - зачем и как?

[identity profile] snopova.livejournal.com 2015-11-02 02:52 pm (UTC)(link)
Помню из своего прошлого, что команда "remove" обозначала "переместить", а не "удалить", что неправильно, конечно, но кто-то может до сих ошибаться.
Edited 2015-11-02 14:53 (UTC)

[identity profile] tau-schmau.livejournal.com 2015-11-02 02:55 pm (UTC)(link)
Точно. Remove - переместить кандидата из одного списка в другой, например, а удалить кандидата - это Delete! Нас не проведешь! :)

[identity profile] pritkiy-kaban.livejournal.com 2015-11-02 02:56 pm (UTC)(link)
Эх, не слушает народ опытных людей, а те уже сказали...

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."

[identity profile] nickshumi.livejournal.com 2015-11-02 03:38 pm (UTC)(link)

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

[identity profile] p4553d.livejournal.com 2015-11-02 09:08 pm (UTC)(link)
Последнее вполне корявенький, но рабочеспособный кусок С. Зависит сильно от семантики того самого буфера. Он может содержать всякую фигню, идет проверка что это не пустая строка или не достигли конца строки.

[identity profile] moonkan.livejournal.com 2015-11-02 10:01 pm (UTC)(link)
Я знаю, даже подобные примеры в Ц видел в каких-то исходниках. Но, имхо - слишком заумно сделано.

[identity profile] ikaktys.livejournal.com 2015-11-03 09:39 am (UTC)(link)
у нас тут у одного старенького шефа на стене висел кусок высоковольтного кабеля, красного такого, сантиметров 5 толшщиной и сантиметров 70 длиной, он его называл "Erklärer" и обещал применять именно для тех кто такие выверты в с++ любит.

[identity profile] p4553d.livejournal.com 2015-11-04 07:34 pm (UTC)(link)
Вполне с ним соглашусь. Хотя в старом коде не заставил бы переделывать, в С это дань сокращениям и процедуральности языка.