Account name:
Password
(OpenID?)
(Forgot it?)
Remember Me
You're viewing
kot_shred
's journal
Create a Dreamwidth Account
Learn More
Interest
Region
Site and Account
FAQ
Email
Reload page in style:
light
Кошка Шредингера. Полуживая полудохлая.
или кикиморда на Святой земле
Jun. 13th, 2012
Previous Day
|
Next Day
Jun. 13th, 2012
Анти-критерии для софта и апи
Jun
.
13th
,
2012
05:42 pm
по ссылке наткнулась на пост. там три точки зрения на то чем пользоваться нежелательно
С точки зрения пользователя:
1) Отличие от общепринятых UI гайдлайнов. Например, розовый фон, красные кнопки, шрифт Comic Sans и выход из программы по кнопке F1.
2) Неадекватное поведение по отношению к другим программам и ОС. Например, встраивание хуков на системные действия или расширений в Explorer.
3) Издевательства над обычными средствами пользовательской интеграции - например, невозможность без вуду скопировать текст из программы в клипбоард, стандартным сочетанием кнопок или меню.
4) Наличие тупиков в Workflow, т.е. возможность обычными действиями зайти в программе туда, откуда обычными действиями уже не выйдешь (только снимать программу из диспетчера задач, kill и прочая)
5) Отсутствие прогресс-баров и прочей индикации выполнения при длительных операциях, отсутствие возможности их корректно прервать.
С точки зрения админства-деплоймента:
1) Неумение работать в многопользовательской среде/на терминальном сервере.
2) Неумение переживать xcopy-деплоймент и запускаться на чистой машине. В крайнем случае - должно быть документировано, что из окружения требуется (.net, жаба, переменные окружения)
3) Хардкодед пути в бинарниках - убивать нещадно.
4) Размещение своих либ/данных в общих папках, типа system32. Под линуксом - не считается, там за это пакетный менеджер, в идеале, отвечает и там принято всему софту гадить единообразно.
С точки зрения программизма:
0) ad-hoc программирование, без проектирования. Практически сразу заметно по структуре api.
1) Хардкодед значения, не являющиеся математическими константами. Пытать на дыбе авторов. Сюда же - хардкодед пути типа C:/Program Files или C:/openssl/etc (портированный софт
2) Тот же контекст, но в пределах ВСЕЙ ОС, а не только запущенного бинарника (Dragon Naturally Speaking и его апи - сука, ненавижу).
3) Не реентерабельные функции.
4) Отсутствие в АПИ для работы с внешними ресурсами явных пар типа Open/Close, Enter/Exit.
5) Невидимый/недокументированный/мутабельный глобальный контекст. Сюда же - использование такого контекста для работы с внешними ресурсами. Т.е. Open не возвращает "хендл для работы с ресурсом", а просто открывает где-то внутри его и все последующие функции его используют, неявно. Например, коннект к БД - один на всю программу. Или транзакция - одна на весь коннект к БД.
6) Отсутствие для значений getter там где присутствует setter. Забивать гвозди в голову за такое. Т.е. мы можем установить некий параметр, но не можем узнать его значение.
7) Случайное поведение API, не объяснимое переданными параметрами и документированным окружением. Обычно - следствие пункта 5 и общего рукожопия.
8) Использование GUI в явно не-гуишных либах. Последний пример - библиотека для работы с одной железякой, кидающая диалоговое окно при ошибке драйвера. Если ее использовать в фоновом сервисе - капец от входа.
9) Отсутствие в API возможности показать прогресс и прервать длительно выполняющиеся операции.
10) Отсутствие обработки ошибок вообще. УБИВАТЬ! УБИВАТЬ! УБИВАТЬ!
11) Обработка ошибок нормального workflow исключениями. Т.е. "попытка подключится к отсутствующему серверу" кидает исключение, хотя должна быть операция TryConnect
Хуже этого - только парсинг строк в простые значения без функции TryParse
12) Отсутствие логгинга. Сажать на кол, конечно же.
13) Отсутствие исходников - когда вышеописанное вылезет в полной мере, а автор окажется живущим половой жизнью с ежихой в ашраме Гуру Бхактиведанты Свами Прабхувады Ребе Короля Мошиаха - вам придется чинить либу самому.
За вас никто ничего чинить не будет - инфа 100%, еще ни одной либы не видел, где автор бы починил самоочевидную ошибку ранее чем через месяц после баг-репорта.
Как то я очень прониклась,собенно тем самоочевидным, но не менее от того печальным, что чинить все равно никто ничего не будет в обозримые сроки
у меня в голове вертятся, но не сложились еще примерно 5 смертных грехов
Комменты там очень доставляют
Previous Day
|
Next Day
Profile
kot_shred
http://www.livejournal.com/users/kot_shred/
Recent Entries
Archive
Reading
Tags
Memories
Profile
April
2017
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Most Popular Tags
dobroe slovo i koshke
-
1 use
life is a bitch
-
203 uses
pan_zuzia
-
44 uses
sweet home
-
24 uses
the life is bitch
-
80 uses
аукцыон
-
4 uses
бессонница
-
156 uses
все хорошо
-
116 uses
гыыы
-
15 uses
гыыыы
-
313 uses
дурью мучаться
-
13 uses
дурью мучиться
-
98 uses
лбм
-
24 uses
мои идиотизмы
-
173 uses
мои идиотизмы лбм
-
1 use
мррр
-
7 uses
нарциссизм
-
41 uses
поздравление
-
15 uses
поэтому истерика среди женщин растет
-
7 uses
работа
-
85 uses
собака
-
28 uses
собаки
-
53 uses
хихикс
-
8 uses
щенки
-
2 uses
צער גידול
-
174 uses
Page Summary
Анти-критерии для софта и апи
Style Credit
Style:
by
timeasmymeasure
Expand Cut Tags
No cut tags
Page generated Aug. 23rd, 2025 09:45 pm
Powered by
Dreamwidth Studios