Особенность раздутая - сколько стоит слишком много? - PullRequest
2 голосов
/ 29 апреля 2009

Я студент по компьютерным наукам, занимаюсь разработкой проекта, и я начал задаваться вопросом, каковы хорошие примеры или программное обеспечение, или даже аппаратное обеспечение, которое находится на грани между многофункциональностью и хорошими полезными функциями для обычных пользователей и слишком пугающим для новые пользователи. Также кто-нибудь может порекомендовать какие-нибудь хорошие советы / книги по разработке приложений хорошего качества, которые многофункциональны, но не «раздуты»?

Ответы [ 8 ]

8 голосов
/ 29 апреля 2009

«Сделай все как можно проще, но не проще». - Альберт Эйнштейн

"Совершенство достигается не тогда, когда нечего добавить, а когда нечего убрать". - Антуан де Сент-Экзюпери


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

Попробуйте думать о вещах немного по-другому. Вместо

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

попробуй

Какое наименьшее количество функций и элементов я могу включить, в то же время обеспечивая превосходный опыт для моих пользователей?

1 голос
/ 29 апреля 2009

Как прямой ответ на ваш вопрос: практически любой продукт Microsoft. Я показываю здесь свою предвзятость, но у Microsoft есть сильная тенденция сохранять свою кодовую базу и добавлять функции поверх функций, пока оригинальная функциональность приложения не будет почти потеряна под кучей ненавистного кросса.

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

Microsoft не одинока в этом; это происходит постоянно, со всеми видами продуктов; но я считаю, что они являются одними из худших преступников.

1 голос
/ 29 апреля 2009

Вот хороший набор слайдов из презентации по теме: Rescue Princess 2.0 .

Первым делом должно быть простое использование приложения. Кроме того, все, что я могу сказать, это остерегаться написания функций для воображаемого пользователя: убедитесь, что кому-то это действительно нужно, прежде чем начать кодировать.

0 голосов
/ 30 сентября 2012

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

0 голосов
/ 02 ноября 2010

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

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

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

0 голосов
/ 29 апреля 2009

Это не точная цитата, но идея была примерно такой:

Часть программного обеспечения идеальна не тогда, когда нечего добавить, а когда нечего удалить.

По сути, чем проще и точнее программное обеспечение, тем лучше.

Чтобы получить примеры хорошего дизайна программного обеспечения, взгляните на популярные сегодня программы. Приложения Google были бы хорошим местом для поиска. Скайп возможно. Хех, даже StackOverflow. :)

Если вы хотите запугать, отправляйтесь в мир САПР. Проверьте, например, Blender . Это бесплатное 3D дизайнерское программное обеспечение. Мне сказали, что это хороший инструмент, но пользовательский интерфейс имеет так много кнопок / панелей / меню / и т.д. что это заставляет маленьких кроликов плакать. К сожалению, я не могу сказать, будет ли это хорошим примером «плохого» интерфейса. 3D-проектирование - очень сложный процесс, и все эти инструменты, вероятно, находятся в нужном месте. Но это определенно пугает. :)

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

0 голосов
/ 29 апреля 2009

Нет четкого барьера между "хорошо" и "слишком много". Однако это зависит от того, что вы хотите сделать.

Если вы разрабатываете SDK, я рекомендую разделить вашу реализацию на несколько небольших библиотек (вместо одной большой библиотеки SDL, есть ядро ​​SDL, SDL_Mixer, SDL_Image и т. Д.)

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

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

0 голосов
/ 29 апреля 2009

1: что нужно и нужно вашим пользователям, и

2: Какие функции вы успеете реализовать?

Ваш вопрос довольно общий. Какие особенности составляют вздутие живота? Это зависит от того, пишете ли вы антивирусный сканер, операционную систему или текстовый процессор.

...