Креатив из прошлого

Модератор: Хакер

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Креатив из прошлого

Сообщение Хакер » 05.03.2015 (Чт) 4:58

Читаю сейчас свой код 7-летней давности — я был сумасшедшим. Такие обороты, трюки и хитровымудренные макросы.
(Код на С/С++)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ZozBale
Новичок
Новичок
Аватара пользователя
 
Сообщения: 46
Зарегистрирован: 17.02.2012 (Пт) 8:37

Re: Креатив из прошлого

Сообщение ZozBale » 15.03.2015 (Вс) 16:11

Я каждые пять лет, вспоминая себя за пять лет до этого, поражаюсь: что у меня было в голове? И речь не только и не столько о программировании, но и вообще, по жизни... Это признак развития.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Креатив из прошлого

Сообщение Хакер » 15.03.2015 (Вс) 16:18

Ну, одно дело, когда смотришь старый код, и понимаешь, что был глупенький и непрофессиональный.

Другое дело, когда, наоборот, поражаешься смелости решений. Сейчас я более сдержанными методами действую.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Креатив из прошлого

Сообщение iGrok » 15.03.2015 (Вс) 16:46

А это тоже признак развития. Переход от write-only-black-magic (пусть даже и для тебя он и легко читаемый и элементарный) кода к легко поддерживаемому. :)
label:
cli
jmp label

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Креатив из прошлого

Сообщение alibek » 15.03.2015 (Вс) 20:51

Да нет. Для командной работы или для бизнес-аналитики это хорошо, но в плане личного мастерства это деградация.
Я сейчас в половине своих старых программ просто не разберусь.
Lasciate ogni speranza, voi ch'entrate.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Креатив из прошлого

Сообщение iGrok » 15.03.2015 (Вс) 21:35

alibek писал(а):Да нет. Для командной работы или для бизнес-аналитики это хорошо, но в плане личного мастерства это деградация.

Ну, всё-таки принцип KISS не просто так придуман. Какая конечная цель у этого мастерства? Ставить рекорды в хитромудрости решений, или быстро и качественно писать код, который быстро и качественно выполняет свою задачу?

Трюками можно увлекаться, когда пишешь исключительно ради спортивного/соревновательного интереса (и, кстати, никто не мешает уделять этому "пару минут" в день и сейчас), а если код рабочий - KISS всё-таки решает. Даже если не работаешь в команде - то для последующего опенсорса/реюза собственного кода.

Впрочем, всё это имхо, конечно. :)
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Креатив из прошлого

Сообщение Хакер » 15.03.2015 (Вс) 21:43

iGrok писал(а):который быстро и качественно выполняет свою задачу?


Вот! Тот код, семилетней давности, для того, чтобы решать задачу максимально быстро, делал кое-что особенное. Вместо того, чтобы просто взять, и решить задачу, он анализировал задачу, а потом во время выполнения генерировал другой код, после чего запускал его, и уже сгенерированный код решал саму задачу.

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

Не могу сказать, что отклонения в ту или иную сторону можно считать деградация. Скорее всего некая смена весовых коэффициентов некоторых ценностей происходит. Возможно надо почаще занимать себя решением нестандартных задач, а то последние года 3 с головой ушёл в длинный аутсорс, где задачи не экстраординарные, а вполне скучноватые.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Креатив из прошлого

Сообщение iGrok » 15.03.2015 (Вс) 22:22

Хакер писал(а):делал кое-что особенное

И это давало заметный прирост в масштабах всего проекта, а не отдельной задачи? Если да - то это действительно имело смысл.

Хакер писал(а):Возможно надо почаще занимать себя решением нестандартных задач

Вот это однозначно надо. Хотя бы несколько часов в неделю выделять на решение пусть даже и не сверхсложной но как минимум отличающейся от обычных "рутинных" задачи. У меня, например, мозги без подобной разминки быстро начинают "тупить" даже над элементарными вещами.
label:
cli
jmp label

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Креатив из прошлого

Сообщение ger_kar » 16.03.2015 (Пн) 5:21

Ну и делать, что нибудь необычное - это же просто интересно. Рутина всегда навевает большую скуку :)
Бороться и искать, найти и перепрятать

ZozBale
Новичок
Новичок
Аватара пользователя
 
Сообщения: 46
Зарегистрирован: 17.02.2012 (Пт) 8:37

Re: Креатив из прошлого

Сообщение ZozBale » 16.03.2015 (Пн) 9:48

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

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Креатив из прошлого

Сообщение iGrok » 18.03.2015 (Ср) 5:43

ZozBale писал(а):вдруг оказывается, что ухищрения не нужны

И это пишет человек, использующий ГА для генерации набора точек по заданному среднему? :)
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 18.03.2015 (Ср) 10:41

Хакер писал(а):Сейчас я бы поленился прибегать к кодогенерации, а предпочёл бы пожертвовать скоростью ради экономии времени, некоего упрощения механизма и портируемости.

Было больше свободного времени и хотелось сделать что-то классное?
Или действительно единственной целью была эффективность?

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

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Креатив из прошлого

Сообщение ger_kar » 18.03.2015 (Ср) 14:20

iGrok писал(а):
ZozBale писал(а):вдруг оказывается, что ухищрения не нужны

И это пишет человек, использующий ГА для генерации набора точек по заданному среднему? :)
А что есть ГА?
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Креатив из прошлого

Сообщение Хакер » 18.03.2015 (Ср) 14:27

ger_kar писал(а):А что есть ГА?

https://ru.wikipedia.org/wiki/%D0%93%D0 ... 1%82%D0%BC

Неплохо бы следить за темами.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Креатив из прошлого

Сообщение Хакер » 18.03.2015 (Ср) 14:35

Qwertiy писал(а):Было больше свободного времени и хотелось сделать что-то классное?
Или действительно единственной целью была эффективность?


Почему «или»? Целей было много. Сделать библиотеку, которая выполняет некоторую задачу (условно назовём её кодированием), а так же обратную её задачу (декодирование). Было желание не просто сделать так, чтобы билиотека выполняла эти задачи, но и так, чтобы вторую задачу она выполняла очень быстро, близко к пределу возможностей.

Первая половина возможностей библиотеки пошла в дело сразу же, вторая половина была не нужна тогда (но её использование планировалось на будущее). Сейчас пришло время время воспользоваться второй половиной функционала, и я обнаружил, что оставшаяся с тех пор библиотека не обрабатывает некоторый ряд случаев. Нашёл код — а он оказался немного недописанным, при том, что я точно помнил, что функциональность была дописана и оттестирована. Вот стал читать код и пытаться понять, что остаётся дописать в случае, если я не смогу найти доделанный вариант или если факт его существования мне приснился.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Мой блог

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList  
cron