?

Log in

No account? Create an account
у каждого свои методы, коллега - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

у каждого свои методы, коллега [окт. 23, 2015|03:09 pm]
Anatoly Vorobey
[Tags|]

Очень люблю рассказ Чапека "Смерть барона Гандары" и часто его вспоминаю.

Не буду его пересказывать, там полторы страница текста. Прочитайте, если не знаете. И вообще, если вы не читали "Рассказы из одного/другого кармана" Чапека, вам совершенно не стоит это откладывать.

Но я к чему. Так, как в этом рассказе с убийствами - у меня с багами в программировании. Вечно мне попадаются какие-то особо глубокие и заковыристые. Такие, чтобы их найти и починить, надо перепахать гору логов, добавить в код двадцать тысяч отладочных распечаток, увидеть, как из-за них баг пропадает, снова и снова недоуменно пялиться на экран и восклицать: "Но как такое может быть"? Только менее цензурно. Вот и сейчас, извините за неровный почерк.

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

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

Потому что нечего выпендриваться.
СсылкаОтветить

Comments:
From: (Anonymous)
2015-10-23 12:24 pm

У меня иначе.

Большинство багов, которые я продуцирую, очень глупые, типа просто что-то забыл или не обратил внимания. Как зевок в шахматах. Изредка бывают и сложные баги, вот сейчас например, но только когда приходится использовать чужой софт (или код) с не вполне понятными свойствами. Наверно я просто не сильно сложные вещи программирую.
(Ответить) (Thread)
[User Picture]From: _sabiko
2015-10-23 01:06 pm
Я недавно целый день ковыряла воспроизводимую ошибку в коде - которая в итоге оказалась багом SQLite, теперь уже пофикшенным к тому же. Так мне это показалось страшно сложной и неожиданной причиной, а вы так походя, "если повезёт", "что-нибудь попроще, типа бага в компиляторе". Вот что значит опыт!
(Ответить) (Thread)
[User Picture]From: isk
2015-10-23 01:37 pm
у SQlite был баг? у системы, для которой тестов по объему больше чем собственно кода?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: digest
2015-10-23 01:11 pm
Старинная английская пословица: У соседа всегда газон зеленее баги проще.
На самом деле свежий (посторонний) взгляд ОЧЕНЬ полезен при слишком глубоком погружении в сложный баг. При долгом поиске растет не только дерево возможных причин проблемы и тестов для ее обнаружения, но ищущий эмоционально проникается сложностью бага и обязательной неординарностью его починки.

Edited at 2015-10-23 13:12 (UTC)
(Ответить) (Thread)
[User Picture]From: a_konst
2015-10-26 02:26 pm
Не всегда.
У меня обычно бывает наоброт - пока ищу, мне кажется, что все пипец как сложно, но как найду - чаще всего решаю, что все очень просто, и найти мог бы в три раза быстрее, если бы сразу догадался, куда посмотреть.
(Ответить) (Parent) (Thread)
[User Picture]From: led_off
2015-10-23 01:42 pm
Это как в анекдоте про внедорожник.

Который застрянет там, куда другая машина не проедет. :)

Edited at 2015-10-23 13:45 (UTC)
(Ответить) (Thread)
[User Picture]From: tracktourist
2015-10-23 06:57 pm

Красиво.

(Ответить) (Parent) (Thread)
[User Picture]From: muh2
2015-10-23 02:24 pm
Как я Вас понимаю. Но это Вы не пробовали дебаггировать СВЧ - систему. С криогенными элементами. И супер- ультра- низкошумящими усилителями.

Создается эмпирическая картина происходящего, которая не лезет ни в какие логически-возможные ворота. Начинают стохастиески (т.е. наудачу) меняться компоненты системы. Все это тянется уже неделю. Любое изменение - это гаечный ключ, а не клавиши.

А окажется, поди, какая-нибудь отвалившаяся масса (одну уже нашли, но есть подозрение, что она отвалилась в процессе дебаггирования).
(Ответить) (Thread)
[User Picture]From: old_radist
2015-10-24 06:41 pm
Наудачу в СВЧ помогает очень редко. Надо применять левоинтуитивные методы.
(Ответить) (Parent) (Thread) (Развернуть)
From: migmit
2015-10-23 02:59 pm
Горе от ума.
(Ответить) (Thread)
From: ext_1745607
2015-10-23 04:54 pm
Везет вам. С багами процессора/борда уже сталкивались?
(Ответить) (Thread)
[User Picture]From: dimrub
2015-10-23 05:39 pm
Ну ты ведь знаешь анекдот про Хэмингуэя, писателя Платонова и начитанного мальчика? Короче вот я бы хотел уметь находить путем длительных изысканий баги в компиляторах там и в железе (как Джесси однажды сделал), а вместо этого нахожу обыденные объяснения.
(Ответить) (Thread)
[User Picture]From: alex_levit
2015-10-23 07:42 pm
А мне в этом сборнике Чапека больше всего нравится первый рассказ: "Случай с доктором Мейзликом". Бывает придумаешь какую-нибудь штуку и потом гадаешь: это простая удача, или это какие-то способности? А если способности, то как эту удачу повторить?
(Ответить) (Thread)
[User Picture]From: avva
2015-10-23 11:31 pm
Да, он отличный.
(Ответить) (Parent) (Thread)
From: tr1gger
2015-10-23 08:23 pm
Кстати, я давно заметил, что в высокоуровневом серверном программировании сложных багов намного меньше. Если структура кода соответствует ходу мыслей человека, и аккуратно расставлять лог-мессаги (не для дебаггинга, а стандартные информативные), то баг обычно сразу виден по логам. Если не виден -- я считаю такой код плохим. Точно так же если код сложный, то он плохой.

В низкоуровневом не так, там и структура кода соответствует железу, оптимизирована, и логгинг не везде расставишь.

Edited at 2015-10-23 20:23 (UTC)
(Ответить) (Thread)
[User Picture]From: vnarod
2015-10-23 10:45 pm
Потому что есть два стиля программирования: чтобы было как правильно и чтобы прямо сейчас заработало. Руководству почти всегда нужен второй.
(Ответить) (Thread)
[User Picture]From: old_radist
2015-10-24 06:45 pm
Надо попросить ув. Авву сделать опрос на тему "у нас скрам" vs. "а у нас нет". :-)
(Ответить) (Parent) (Thread)
[User Picture]From: xfqybr
2015-10-23 10:53 pm
Спасибо, бегу читать!
(Ответить) (Thread)
[User Picture]From: nechaman
2015-10-24 04:19 pm
Мой муж когда-то с одним знакомым работали электронщиками на ЭВМ в России. Не потому что у них было образование такое, а просто взяли их, других видно не было. Машина эта часто ломалась.
Друг моего мужа лазал по схемам искал, где причина сбоя. А мой муж вынимал последовательно все микросхемы (тогда уже были первые чипы) и вставлял их назад - и после этого все начинало работать. Усилия его друга тоже приводили к позитивному результату, он находил причину и устранял ее. Но у ПП это получалось быстрее.
(Ответить) (Thread)
[User Picture]From: link0ff
2015-10-24 08:04 pm
Так же как и по телевизору было достаточно постучать в нужном месте, чтобы исправить изображение.
(Ответить) (Parent) (Thread) (Развернуть)