Fawkes NF
Есть! Новый подход и какие результаты!!! Действительно надо было давно прекратить валять дурака и начать писать программы грамотно, тоесть с алгоритмами, комментариями и прочими вкусностями. Это помогает искать ошибки и проводить модернизацию программы. Я это увидел и ощутил на своей шкуре, когда создал новый проект и начал писать все с нуля. Было тяжело, пальцы болели от клавиатуры, нет не артрит - просто уставали, работа непокладая рук, печатал все от мыслей в отдельном файле и комментариев среди текста программы, до алгоритмов в Impress (аналог микрософтовского visio) и словестного описания действий. И вот оно, долгожданная ошибка в коде проявилась.:bug: Мне надо было ее найти, и я просто посмотрел, что действительно нарушен порядок обмена данными. Просмотрел алгоритм и файл с описанием, там все было в порядке, открыл файл с исходным кодом и тут же нашел сбойную функцию, увидел, что просто не ставится нужный индекс, поменял значение, и всё, программа начала работать как часы. Разумеется все задокументировал.
Да, это я хвастаюсь.
Неужели мне было так трудно все это начать делать раньше? Сказать по правде - трудно, надо же себя заставить напечатать комментарий, а если программа не заработает, то и перепечатать комментарий, а если... и понеслось. Но ведь программа прозрачная, нафиг комментарии, я ведь знаю, как она работает. Думал я. Однако через год, открыв исходные тексты программы я понял, что она работает совсем не так, как я думал, а тот код спагетти, может и правильный, но очень запутанный. И я решил стереть всё, и переписать все с нуля. Три недели я писал коды, днем и ночью, описывал каждую мысль, комментировал каждую строчку программы, в особо важных моментах я писал комментариев больше, чем кода программы, чтобы точно не потерять мысль. Зачастую, когда писал комментарий, находил ошибки или неопределенности в программе, т.к. они всегда есть, где то поспешил, а где то не заметил. От тугих клавиш клавиатуры пальцы ныли и не гнулись. Но я это сделал, конечно не всю программу удалось переписать, только один отдельный модуль, но этот модуль теперь целиком независим от остальной программы и его можно применять в других устройствах. Ближе к лету перепишу программы полностью, чтобы избавиться от спагетти и сделать задел на модернизацию.

А еще я написал свой собственный оконный сервер и клиент к нему. Задача не велика, но повышает самооценку :) Да, меня не устроил стандартный оконный менеджер, слишком много лишнего было, пришлось делать под конкретную задачу. Зато как красиво получилось.


Извините за хвастовство, но мне надо было с кем то поделиться :):shuffle2:

@темы: Работа, Я

Комментарии
23.02.2012 в 11:51

рыцарь тьмы
Неужели мне было так трудно все это начать делать раньше? Сказать по правде - трудно, надо же себя заставить напечатать комментарий, -вообще перестроиться и сделать все начисто-очень противно нашей психологии.всегда есть надежда-авось обойдется!
радостно читать-такие позитивные посты.:vo:
может и у меня однажды проснется совесть-я возьму десяток разрозненных тетрадей и блокнотов ,
сяду за комп и создам Курс Лекций...
свежо ,однако ,предание,но верится с трудом:(
23.02.2012 в 14:17

Fawkes NF
Надо не говорить, а надо делать. :) верю в тебя :)
23.02.2012 в 14:26

Fawkes NF
А вообще я понимаю как это тяжело, например заставить кого то написать алгоритм по уже готовой программе вообще не реально, а спросишь, как ты делал программу без алгоритма (ведь с него надо было начинать) молчат в тряпочку. Про комментарии в программах - молчу в тряпочку, они либо есть, но совершенно непонятные, либо просто отсутствуют, и понять как человек пришел к такому выводу, который может и правильный, вообще не реально.:wdpkr:
Тут коллега спросил, нужна ли мне помощь, ну я обрадовался, говорю, напиши мне алгоритм такой то функции, чтобы я на него не тратил время. Он ушел, через 30 минут принес мне весь перечёркнутый рисунок на листе А4. Вот, говорит, родил. :aaa: На мой вопрос, а на чистовик передрать это нельзя было? Ответил, что торопился мне представить решение. Я молчу про всякие Visio и прочую ересь, облегчающую черчение блоксхем. В общем он был мною послан, второго варианта я так и не увидел.