"10 вещей, которые никогда не преподаются программистам в вузах"

Думаю никого не заинтересует эта запись, кроме самого же меня, но всё-таки попытаюсь написать свой опыт и отношение к этим «10 вещам».

Собственно эти 10 вещей прочитать можно на великолепном ресурсе habrahabr.

Здесь полную версию статьи я давать не буду, лишь перечислю её положения.

  1. Мы не правы
  2. Все, что может сломаться, ломается
  3. Весь код — дерьмо
  4. В программе всегда есть баг
  5. Наиболее важная вещь — это клиент
  6. Программа, изложенная на бумаге не работает
  7. Меньше — лучше
  8. Кодирование занимает 20% времени
  9. Заказчик НИКОГДА не знает, что он хочет
  10. Кто-то это уже делал

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

Во время создания этого ужаса я отчётливо на себе увидел принцип действия 2,3,4,7 и 8 пунктов. Я постоянно мысленно называл себя извращенцем за свой ужасный код (пункт 3), несколько раз находил непредвиденные и порой глупые ошибки в тех местах программы, в которых был уверен (пункты 2 и 4). Ну а пункт 8 я почувствовал во всей красе, когда из 2 дней, которые я потратил на написание программы, первый день ушёл на сидение перед монитором и тыкание пальцем по столу, в попытках понять «как жеж блин написать так, чтобы эта хреновина работала, ещё и кушала поменьше ресурсов». Седьмой пункт тоже мне удалось проверить: из 450 строчек кода нет ни одной «левой» и ненужной. Всё довольно-таки минималистично, но тем не менее всё работает и этого вполне хватает.

Повезло, что не удалось проверить пункт 10 в действии. Точнее я был заранее благоразумен и поискал в интернете подобные вещи. Были найдены и программы и исходники, но они не подходили, так как все были адаптированы для платформы windows, а мне, по «заказу», необходимо было написать игрушку для кпк под управлением windows mobile. Не было найдено ни одного подходящего решения, в следствие чего и пришлось писать программку с нуля.

Пункты 1 5 и 9 к сожалению проверить в действии не удалось, так как «заказчиком» является мой одноклассник и по совместительству знакомый ещё аж с детского сада Максим Игумнов, который в общем-то знал что он хотел (пункт 9), да и не лез в процесс разработки (это и подразумевается под пунктом 5). Да и конкуренции и «соработников», которые тыкали бы мне, что я не прав не было (пункт 1). Пункт 6 даже не пытался опробовать, так как никогда не любил ничего писать на бумаге или ещё где-то. Всегда всё воплощал сразу в жизнь.

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

0
Ваша оценка: Нет
← Приятные сюрпризы И снова запахло нафталином →

Комментарии

Аватар пользователя Алексей Зубарев

Одной из самых важных вещей я считаю техзадание. Пока не знаешь, ЧТО должно получиться, будет получатся не то. 8) А понимание очень многих вещей приходит с опытом.

Чудеса там, где в них верят!

Аватар пользователя Максим Игумнов

Еще раз спасибо тебе за игрушку (или все-таки программу?) ;)
А по поводу пунктов 5 и 9 могу помочь.))

Хе-хе, не, спасибо, пока не надо. Времени…эм…судя по всему на каникулах уже нету.

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

Аватар пользователя Данил Фёдоровых

> любая игрушка является обычной программой, просто
> насыщенной мультимедия информацией, графикой и специфичным
> кодом для работы с видеокартой

Ага, например, «Сапер».

Это сейчас был пример или контр-пример?

Аватар пользователя Данил Фёдоровых

К твоим словам о мультимедиа (запомни, как пишется), графике и специфичном коде — контрпример.

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

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