Несколько советов по разработке программ


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



Производительность

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

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

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

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

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

Информативные сообщения об ошибках

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

Полный загрузчик

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

Если программа большая и имеет много компонентов (необязательных), то лучше на загрузочной странице выложить несколько вариантов её конфигураций.

Минимум перезагрузок

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

Сама программа тоже должна уметь работать с новыми данными без перезагрузки – это очень важно.

Обновление с разрешения

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

Не переборщите с защитой от копирования и антипиратскими мерами

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

Пиратство - это проблема для разработчиков программного обеспечения, но методы борьбы с пиратством могут выйти из-под контроля, особенно если они обращаются с законными пользователями как с пиратами.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, программирование, общие моменты, практика




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




C# Visual Studio и базы данных: подключаем Microsoft SQL Server Compact
Как записать информацию в файл на Java
Улучшение алгоритма: взвешивание и сжатие