Рецепт приготовления правильного программного продукта

Рубрика: Не в тему | 26 января 2009 | Автор: Жук

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

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

Все вышесказанное можно применить и к web-проектам: порталам, социальным сетям, новостным сайтам и любым другим мало-мальски серьезным проектам. Если в вашей голове хоть раз зарождалась мысль написать что-то свое и жить на доходы с продаж, абонентскую плату или доходы с рекламой, задумайтесь сначала о тех инструментах, что вам понадобятся для разработки. Представляю вам мой рецепт ингридиентов для приготовления серьезного программного продукта:

  1. Среда разработки. В минимальной комплекции — это компилятор и простенький текстовый редактор. Но так было пару десятков лет назад. Сейчас подобного инструментария недостаточно. На рынке программного обеспечения в данный момент огромное значение играет скорость. Для того, чтобы не отставать, вам понадобится мощная среда разработки с подсветкой синтаксиса, кучей библиотек полуготовых компонентов, автозаполнением и шаблонами, поддержкой многопоточности и возможности отладки… И так далее и тому подобное. В общем, нужна монстроподобная среда, жрущая кучу памяти, но в замен очень удобная и почти что способная приготовить вам кофе, если понадобится.
  2. Инсталлятор. Меня например коробит, если я приобретаю программу, а получаю один исполняемый файл(exe), или еще хуже, архив библиотек, которые мне нужно куда-нибудь скопировать, где-нибудь зарегистрировать и еще и бантик подвязать. Настоящая программа предоставит удобный инсталлятор, где непродвинутому пользователю достаточно будет прокликать «Далее», а продвинутый сможет задать свои собственные настройки для установки. Поэтому, разрабатывая программу, вам придется позаботиться о создании инсталлятора — либо написать самому, либо воспользоваться готовыми решениями.
  3. Контроль версий. При разработки любой, даже совсем простенькой программки приходится по нескольку раз изменять программный код. И никто не застрахован от ошибок. С помощью контроля версий можно откатить изменения на нужную дату, можно следить за развитием проекта, а можно и вести параллельную разработку, если программа пишется группой разработчиков. Контроль версий просто необходим для удобства и безопасности разработки.
  4. Билдер. Без этой программы конечно же можно обойтись, но она экономит очень много времени. За какое время вы сможете взять последнюю версию программы из контроля версий, поменять каждому модулю программы версию, запустить компилятор, дождаться выполняемых файлов, собрать инсталлятор, переименовать его и скопировать в нужное место? С помощью билдера вы потратите на все эти вещи всего пару минут и уж точно не ошибетесь в последовательности действий.
  5. Баг трекер. Другими словами, это программа для контроля ошибок в программе. Желательно с публичным доступом, чтобы любой пользователь смог сообщить о «баге». Не пытайтесь запомнить все, что нужно поправить, в голове — не получится, проверено на практике. В простейшем случае, все ошибки, которые следует исправить, можно хранить на почте или в блоге.

Если разработка программы ведется группой разработчиков, проект обрастает еще множеством программ и утилит для планирования и контроля. Но тот минимум, который я описал выше используется обязательно.

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

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

P. S. Жукладочник теперь дружит с 15 жукладками и умеет экспортить и импортить ваши настройки. Качайте и наслаждайтесь!

Тэги: ,

Уже 22 комментариев. Оставь свой...

  • Nikolyaseaman

    Сколько эмоций. Неужто все они навеяны внедрением еще пяти закладок. Видно тяжко дается.

  • Жук

    2 Nikolyaseaman: :) эмоции только от радости созидания…

  • Los Maniacos

    Ну теперь можно и языки программирования учить

  • Жук

    Даже нужно!

  • Пётр

    Попробую твой рецепт!Так как я только начинаю етим заниматса в серез!

  • Vlad

    В принципе, сейчас особо заморачиваться молодым программерам и не стоит — взял тот же C++ Builder или Delphi и вуа-ля! Всё чего душа пожелает — даж можно оболочки инсталляторов готовые юзать. Другое дело самоорганизация программиста — тот же контроль версий далеко не каждый делает, а вообще без него никуда. Или, например, иногда приходится долго и упорно ломать голову в плане создания удобного интерфейса…не каждый программист в душе дизайнер :)

  • jarofed

    Наконец загрузил твой «Жукладочник». Не успел еще даже все закладки протестить — но те, что попробовал — работают просто отлично. И интерфейс нравится. Словом — получаю удовольствие от работы с программой. Может, наконец начну постить в соцзакладки. Огромное спасибо за этот продукт! :)))

  • art-shkola

    И даже я буду учить языки программитрования!

  • Богдан

    Недавно увидел как знакомый студент ваял веб сайт в Visual Studio…. мир меняется и у молодняка свое виденье того , как нужно программировать……

  • Юрий Изотов

    Согласен, актуально все написано.
    Особенно про контроль версий — я вот юзаю subversion для веба :) Удобно что локально можно репозиторий сделать на уровне ФС, не нужен сам SVN сервер.
    Среда разработки — да, важна конечно. Но тут еще можно было бы сказать — владение фреймворками чтоб не создавать велосипед. Ну в вебе — так. Легче узнать тот же Prototype чем самому что-то лепить. :)

  • Жук

    Владение фрэймворками да и вообще базовые знания не стал упоминать как само собой разумеющееся… ;) Без знаний создавать свое ПО совсем дохлый номер!

  • Ян

    Скачал жукладочник, установил — пишет «Бета период данной версии программы закончился. Посетите официальный сайт программы, чтобы скачать новую версию». Так новее ведь нету, что делать?

  • Ян

    Пфф, обновил страницу, а тут уже и дизайн другой и новая версия Жукладочника появилась :)

  • Ян

    А можно поинтересоваться почему в социалках для блоггеров нету грабра? По техническим причинам?

  • Юрий Изотов

    Ну как сказать :) Владение фреймворками не совсем базовые знания.

  • Жук

    2 Ян: грабр я пока одолеть не смог… Там какой то хитрый кэш отправляется, но я не отчаиваюсь :)
    2 Юрий Изотов: согласен, но тогда стоит на первое место поставить умение пользоваться мануалами и хелпом ;)

  • Кемеровский

    А я только задумываюсь о программировании. Посоветуйте с каких языков начинать?

    Эх, помню в школе на васике шпарили:)))

  • Жук

    2 Кемеровский: извини, но вопрос сформулирован не правильно… Нужно начинать не с языков, а с идеи… С чем тебе интересно работать? Какая область больше всего интересует? Железяки? Значит С и ассемблер… Игрушки? C++, OpenGL, DirectX… Интернет? Учи php или asp… И так далее…

  • Богдан Хмельницкий

    А вы бы не хотели бы поработать с сервисом bposter.net — свяжитесь с ними я думаю мог бы получиться отличнейший продукт!

  • Леонид Владимирович

    Т.е без этих минимальных программ невозможно сделать свой успешный бизнес в интернете. Не совсем согласен, можно продвинуть свой цифровой продукт и без этих программ, главное здесь следовать по шаблону и вы непременно достигните успеха

  • Жук

    2 Богдан: а смысл? у них свой продукт, у меня свой… Ни им меня вытягивать не захочется, ни мне от них помощи…
    2 Леонид: без перечисленных программ добиться успеха можно, но намного трудозатратнее! Тем более я не говорил, что их нужно покупать… Можно шароварное найти…

  • fp

    Карикатура клевая! :)

Оставить комментарий