Случается. Думаешь, что изобрел гениальную оптимизацию какого-то куска, идешь в код, а там она уже написана и очень красиво и аккуратно вплетена в остальную программу.
Помнится нашел свой исходник 2ух летней давности, почитал код и ужаснулся, один из перлов довел меня до истерики. Это кусок программы должен был переводить значение времени, если оно больше 24. (Код написал, как помню его). Не знаю, о чем я тогда думал, зато посмеялся от души.
if (curTime = 24) then curTime:=0 else
if (curTime = 25) then curTime:=1 else
if (curTime = 26) then curTime:=2 else
if (curTime = 27) then curTime:=3 else
if (curTime = 28) then curTime:=4…
Говорят, что славяне произошли от индийских брахманов, о чём свидетельствует гаплогруппа R1a (легко запомнить как Р-один-а -> Родина).
Хотя существует и противоположная точка зрения, что славяне пришли в индию и принесли туда санскрит.
Для полноты картины рядом с комментом "// это мост" не хватает:
/**
* Created by IntelliJ IDEA.
*…
* To change this template use File | Settings | File Templates.
*/
У меня как-то никогда не было особых проблем с разбором чужого кода. Да, это не быстро и не всегда понятно, но я это, наверное, воспринимаю как разминку для мозгов. Не то чтобы мне прямо очень нравится, но отвращения и ненависти не вызывает.
И в этом тоже есть определенный кайф. Кто угодно может все выкинуть и написать свое «правильное» с нуля, за каких-то пол года. А оно то может и не надо совсем. Надо подкорректировать и очень здорово если это получится сделать за два дня.
Есть кайф, когда у тебя над душой не стоят и не кричат «быстрей! быстрей!». Когда можешь спокойно разобраться с кодом, прикинуть особые точки, покрыть тестами хотя бы этот кусок и эти точки, написать тесты для своего, в конце-концов VCS поднять. В общем чтобы не бояться, что что-то испортишь, что если всё же испортишь, то это сразу вылезет и можно быстро откатиться назад. А когда приходится с дохлого планшета прямо на сервере код править, то кайфа мало. Ну, если ты не экстремал. Я — нет.
самое интнресное что:
1. не всегда чужой код плох, даже если он непонятный, сколько раз видел как люди плевались на чужой код и говорили что он ужасен именно по неопытности
2. наш код другим видется так же как у комиксе :)
Примерно тоже хотел написать:)
Есть природная предвзятость к чужому коду.
Код — отстой, если сразу не ясно что к чему(что в решении сложной задачи невозможно).
А если вникнуть в суть, то неприязнь к коду может свестись только к непривычному оформлению, «не таким» названиям функций итп.
Много раз попадался на этом, открывая свой код спустя долгое время.
Первое впечатление: «Что за отстой, я так писал?»
Вникнув в суть проблемы: «Неужели я тогда это всё продумал? Вот я молодец! И что я сразу не доверился этому коду?»
У меня когнитивный диссонанс возникает, когда приходится резко менять среду разработки, например, с pl/sql переключится на t-sql. Аж трясет первые пять минут. А если приходится что-то менять в модулях с декларативным программированием тут мне хочется родится заново, с чистыми мозгами.
30 января оригинальный комикс публикается на сайте Abstruse Goose.
1 февраля комикс переводится на русский язык в ВКонтакте в сообществе «Типичный программист» с указанием оригинала.
А вы теперь без зазрений совести публикуете перевод без указания ссылки на переводчика, без указания ссылки на оригинал и с нарушением пункта правил «Хабр — не место для копипастеров.»? По-моему надо иметь хоть какое-то уважение к людям, чью работы вы копируете.
В чужом коде порой радуют комменты :)
Например:
# Этот модуль — первое что я написал на питоне.
# Здесь надо все расхуярить на django-style, выкинуть нахуй левые инструменты для бд
# Ну и вообще сукопереписатьвсенахуй.
Мысли при чтении чужого кода