Все записи рубрики «Разработка»

4

Из чего складывается работа профессионального программиста

Andrey Lapin
14 апреля 2011 года

Бывает такое, что клиент не понимает, почему за разработку необходимо так дорого платить. Иногда это бывает из-за технической некомпетентности, как описано здесь: http://wiki4tech.ru/Проблема_понимания_клиентом_сложности_проекта. Но последнее время как правило бывают технически подготовленные клиенты, имеющие специальное профильное образование, но не ставшие на путь разработки и занимающиеся менеджментом. В этом случае сталкиваемся с непониманием другого рода. Будучи студентом решая различные лабораторные работы создается впечатление о том, что программирование — это достаточно легкое занятие. Довольно сложные задачи могут решаться быстро и впечатлять нас.

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

  • Программа должна быть легко сопровождаема, необходимо писать красивый понятный код
  • Программа должна быть протестирована самим программистом (а не только тестировщиком)
  • В вузах как правило не преподают как эффективно проектировать интерфейс взаимодействия с пользователем. Интерфейс пользователя — это та неуловимая для многих вещь, которая заставляет писать дифирамбы программе, а иногда отбивает желание пользоваться.
  • Программирование — это не спринт, а марафонский бег. Нужно достаточно хорошо подумать, чтобы что-то сделать.
  • Иногда бывает, что время днями тратится на решение какой-то технической проблемы. При этом проблема не имеет какого-то понятного пользователю описания.
  • Когда программисты работают в команде, необходимо тратить время на взаимодействие внутри команды.
  • Любой проект с первого дня разработки начинает меняться и дополняться новыми требованиями. Если вы не меняете проект, то готовьтесь выкинуть его на помойку.

Как же решить эти проблемы с обоих сторон? Думаю, нам поможет модель Agile разработки ПО, которая учитывает непостоянство окружающего мира и в том числе процесса разработки. Эта модель построена на взаимном доверии, когда бюджет заранее не фиксируется, либо имеет ограничение сверху с запасом, позволяющее развивать проект. При подходе Agile программный продукт выпускается очень часто. Может быть каждую неделю, а может быть каждый день. Для больших проектов — это единственный путь, способствующий созданию успешного продукта. Подход Agile может существенно сэкономить средства на разработку и в короткие сроки создать работающий продукт. Старый подход, когда сначала пишется огромное ТЗ, а потом долго-долго реализуется часто приводит к провалу. А иногда даже к провалу до начала работы программиста. 

Метки:

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

Полезные ресурсы по Linux

Andrey Lapin
25 марта 2011 года

Если вам есть, что добавить, можете править здесь: http://wiki4tech.ru/Полезные_ресурсы_по_Linux

Метки:

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

Правила оформления программного кода

Andrey Lapin
23 марта 2011 года

Существуют различные книги по оформлению кода. Например, книга Алена Голуба "Правила программирования на С и С++".

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

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

  • Повышают читаемость кода
  • Легче находить ошибки
  • Легче отлаживать код
  • Повышают общее качество кода

Ну и наконец ссылка на правила: http://wiki4tech.ru/Правила_оформления_кода 

Интересно услышать комментарии и предложения.

 

Метки:

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

Создание большого приложения на Javascript

Andrey Lapin
20 марта 2011 года

Управление зависимостями

Когда вы пишете большое приложение, вам иногда бывает нужно
определить порядок загрузки скриптов. Например, загружать func.js до
app.js. Хотя традиционный подход упорядочивания тегов script может вас
устроить во многих случаях, загрузчики скриптов могут дать вам
дополнительные возможности в управлении загрузкой. Например, загрузка в
зависимости от возможностей браузера, динамическая загрузка по условию.

Наиболее популярные загрузчики — это RequireJS (от James Burke) и
LabJS (от Kyle Simpson). Каждый из них имеет свои плюсы и минусы. По
моему опыту, RequireJS имеет больше возможностей и поддерживает
структурированные модули, в то время как LabJS наиболее подходит, если
вам нужно что-то легкое и не нужно много фич.

Библиотеки:

  • RequireJS – я рекомендую эту библиотеку,
    если вы планируете делать ваш код модульным. Модули ограничивают влияние
    кода на глобальное пространство имен и позволяют более точно определять
    прямые зависимости. RequireJS также имеет инструмент для оптимизации,
    который позволяет вам комбинировать и группировать ваши скрипты в
    минимизированные копии, которые быстро загружаются. http://requirejs.org/
  • LabJS – это лучшее решение, если вы хотите эффективно загружать скрипты в определенном порядке и вам нужно более легкое решение, чем RequireJS, либо вас не интересует модульный подход в управлении зависимостями. http://www.labjs.com (и еще гляньте YepNope JS — отличный загрузчик, работающий по условиям, который работает на базе LabJS: http://www.yepnopejs.com).
  • StealJS – другой отличный инструмент
    управления зависимостями. StealJS — это часть пакета JavaScriptMVC, но
    вы можете использовать его отдельно. Включает в себя конкатенацию,
    компрессию и чистку кода. http://jupiterjs.com/news/stealjs-script-manager
  • JSL Script Loader – другой достойный
    инструмент, который поддерживает ленивую загрузку, упорядоченную
    загрузку, предотвращает повторную загрузку и кэширует. Не так интенсивно
    протестирован как LabJS и Require –  http://www.andresvidal.com/jsl
  • Bootstrap — имеет меньше возможностей, чем другие,
    но делает свою работу. Лучший вариант, если вы ищете минимальное решение
    без всяких наворотов.
    https://bitbucket.org/scott_koon/bootstrap

Читать дальше 

Метки: ,

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

Стандарты кодирования и лучшие практики разработки

Andrey Lapin
17 марта 2011 года

Креативное агенство Isobar опубликовало довольно полезный документ для веб-разработчиков.

Стандарты кодирования и лучшие практики разработки: http://na.isobar.com/standards/

Рассмотрены вопросы

  • Кодирование в HTML, CSS, JavaScript
  • Повышение производительности
  • SEO-оптимизация
  • Кросс-браузерная поддержка
  • Разрешение экрана

 Есть также аналогичный документ на русском: http://wiki4tech.ru/Профессиональные_правила_верстки

См. также http://wiki4tech.ru/Категория:Верстка

Метки: ,

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