Забываемый код

08.03.2008

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

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

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

Если рассматривать стиль, то под ним я подразумеваю:

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

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

И соединяя все вышесказанное получается, что код мы будем забывать всегда. Вот такая вот у нас, у программистов, доля. Живем от зарплаты до зарплаты. Ничего постоянного, бродяги одним словом.


Комментирование этой статьи закрыто

Комментарии [10]

  1. Мар 10, 18:16 , Black Ice

    Как дежавю (как правильно то пишется?)…
    Не программист, хотя часто слышу подобный вопрос в свой адрес.
    Так вот когда приходиться копаться несколько раз, но с промежутками времени, возникает ощущение, а как делал в прошлый раз?!?…

  2. Мар 15, 03:16 , Павел Воронин

    Чтобы не забывать, что у меня из себя представляет проект, я рисую UML-диаграммы и EER-диаграммы + автоматическая проектная документация phpdoc с небольшими доработками. Этого обычно хватает, чтобы за 2-3 минуты вспомнить проект до последнего символа. =)

  3. Мар 27, 18:31 , Sun

    Кто-то где-то писал примерно следующее:
    если вы написали программу и думаете что последующие 11 месяцев больше не вернётесь к её кодам, обязательно выяснится что на 12 месяц именно коды этой программы понадобятся вам…
    не совсем то, но что-то похожее…делайте комментарии

  4. Мар 27, 23:21 , Dead Krolik

    Ага, но комментарии это совершенно отдельная тема. То, что их надо ставить – я согласен на 100%.

  5. Мар 29, 01:20 , Physicist

    Основная проблема в том, что либо пишешь элементарный код, в котором уверен что потом точно разберешься и поэтому его не комментируешь, либо пишешь экспериментальный «временный» код который надеешься прокомментировать после того как убедишься в том, что он и правда работает. Но если он работает — уже не находится времени к нему вернуться.
    Вот как-то так.
    Кстати, почему-то в C++ разобраться в своем коде гораздо проще, чем на PHP. Может это связано с наличием хорошего отладчика (в PHP почему-то приходится «заставлять» себя пользоваться xdebug), более-менее четкой структуры MFC и т.д.

  6. Апр 9, 09:36 , Vassia pupkind

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

  7. Май 16, 04:10 , Caleb Sakujja

    По поводу комментирования:

    По моему, не стоит комментировать код, который итак понятен при беглом взгляде. Допустим:

    push offset foo
    push 55h
    call foo_proc

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

    Кстати немного слукавил по поводу строки call foo_proc. Обычно такие строки я комментирую номерами строк с которых начинается код этих функций, если конечно они не в динамических библиотеках. Очень удобно, если у вас в IDE не показываются все написаные процедуры.

  8. Май 16, 10:49 , Dead Krolik

    Эх. И ведь есть же еще люди в наше время, пишущие на ассемблере.

  9. Май 16, 21:27 , Caleb Sakujja

    >Эх. И ведь есть же еще люди в наше время, пишущие на ассемблере.

    Ога, и их очень много :) -> www.wasm.ru

  10. Май 17, 01:48 , Dead Krolik

    Расстрелял бы за это “Ога” всяких “Одминов” :)

Комментирование этой статьи закрыто

Кто я


Возраст: 23
Профессия: заяц


Категории


Полезные ссылки


Стишок

Зайчик-зайчик, скок-поскок!
Н-нна тебе дробину в бок!
Не с капустой же мы будем
Жрать на Новый год пирог...

eu-shestakov.livejournal.com