19.11.2008, 14:55 | #1 |
Участник
|
Зачем нужен BP если ему не кто не следует? на примере
axapta 3.0 sp5
настройки проверка Best Practices уровень предупреждения "Все" берем девственно чистый класс PopupMenu (sys) делаем проверку и имеем отступлений от BP 39 штук. Я понимаю, что Conformance The Axapta standard application and all external certified solutions should conform to the best practices described herein, as should any solution or customization. But - - - it is a professional software engineering discipline to know when to follow the rules, standards and guidelines given, and when not to. There are situations where solutions other than those described here are better. Please make a note (its best practice!) in your design documents or a comment in the program code when and why you decide not to follow these best practices. The conformance cannot be measured absolutely, but it will be practical to use a 95/5 percent guideline: 95% of the solution conforms to the Axapta Application Development Best Practices. 5% does not conform due to documented decisions. Но на 18 методов 39 отступлений от BP!? Это норма или я чего то не понимаю? |
|
19.11.2008, 14:58 | #2 |
Banned
|
Axapta 3.0 - это плохой пример. DAX2009 уже на дворе. Вы бы еще в 2.5 померяли.
|
|
|
За это сообщение автора поблагодарили: AlexSD (1), belugin (2). |
19.11.2008, 17:05 | #3 |
Участник
|
|
|
19.11.2008, 17:15 | #4 |
Участник
|
0.
|
|
|
За это сообщение автора поблагодарили: coolibin (1). |
19.11.2008, 17:18 | #5 |
Участник
|
|
|
19.11.2008, 17:21 | #6 |
Участник
|
|
|
19.11.2008, 17:59 | #7 |
Участник
|
Цитата:
там добавилась только одна константа в тексте. и в каждом методе добавились комментарии. Я приложил XPO этого класса из ax2009 и проект с классами проверки BestPractice (оба файла сконвертировал из UTF-8 в Ansi, чтобы можно было импортировать в ax3.0) Попробуйте сравните что там изменилось. Может что толковое найдете. |
|
19.11.2008, 18:05 | #8 |
Участник
|
спасибо
загрузил только класс в 3.0, проверил в BP (все), ситуация с ошибками ни сколько не изменилась...как и предполагалось Последний раз редактировалось ice; 19.11.2008 в 18:26. |
|
19.11.2008, 18:16 | #9 |
Участник
|
После того как отсутстве ошибок BP стало обязательно для стандартного функционала (я так понимаю (Ax4.0 SP1) - появился макрос SysBPCheckIgnore в котором (в достаточно извращенной форме) перечисленны все "неисправленные" несооветсвия BP в стандарте. Всего около 1400 записей.
При проверке на соответсвие BP если в этом макросе эта ошибка перечислена то вместо ошибки создается предупреждение, таким образо "ошибок" BP в стандарте после Ax40SP1 нет. Насколько нужна проверка соответсвиям BP каждый решает для себя сам. Я например при помощи BP проверяю не забыл ли создать метку для пользовательского сообщения (мы используем минимум два языка - метки обязательны), или например можно забыть сделать первичный ключ неизменяемым AllowEdit=true, что тоже не очень хорошо, при переходе на 5-ку проверка BP поможет при модификации исходного приложения к новой фиче - сайты. Вообщем есть несколько достаточно важных моментов, когда проверка BP поможет избежать ошибки (или потенциальной ошибки) в коде. Единственное эта проверка реально может помочь, когда в стандарте ошибок уже нет и при приверке в окне компилятора видны только свои ошибки, а не 5 своих и 200 стандартных (как это было в тройке) |
|
|
За это сообщение автора поблагодарили: gl00mie (2). |
19.11.2008, 18:22 | #10 |
Участник
|
Просто некоторые ошибки стали ворнингами. BP-ворнинги допустимы, а BP - ошибки нет. Это централизовано контроллируется.
|
|
19.11.2008, 18:22 | #11 |
Участник
|
Кроме того в четверке появилось магическое заклинание // BP Deviation Documented, и еще проверка BP пропускает некоторые системные классы при проверке (не на 100% уверен, но по-моему так). Например WinAPI.
Иначе весь WinAPI будет в // BP Deviation Documented, т.к. в нем каждая строка (почти) не соотвтетвует BP Последний раз редактировалось petr; 19.11.2008 в 18:27. |
|
19.11.2008, 19:55 | #12 |
Member
|
Не будьте наивны. Не ведитесь на пропаганду.
Там в опциях пользователя есть параметры компилятора (уровень проверки) и так называемые Best Practices. Начиная с 4.0 по умолчанию в BP отображаются только ошибки, и не отображаются предупреждения. Это там кто-то так умышленно сделал, чтобы на стандартном приложении не лезли ошибки в неимоверном количестве. Была на эту тему дискуссия. Жаль, найти не получается... Вот она . Косячок в классе InventAdj_Cancel (fetchMode)
__________________
С уважением, glibs® |
|
19.11.2008, 20:22 | #13 |
Microsoft Dynamics
|
"Суббота для человека, а не человек для субботы." (с) BP служит одной единственной цели - указать на явные наружения рекомендаций на декларативном уровне (в метаданных) и, ВОЗМОЖНО, проблемные участки в коде, для последующего отдельного анализа и, ВОЗМОЖНО, редизайна. Т.е. эти рекомендации никогда не носили безусловного характера, равно как и слепое последование им не гарантирует высочайшего качества программного кода. К слову, объявление // BP Deviation Documented лишь подчеркивает, что разработчик проанализировал этот участок кода и отклонение от BP оставлено здесь намеренно.
__________________
You should use Bing before asking dumb questions. Последний раз редактировалось Jabberwocky; 19.11.2008 в 20:24. |
|
19.11.2008, 20:22 | #14 |
Участник
|
По-моему, совершенно нормальный компромисс - почистить самые серьезные отклонения, несерьезные сделать рекомендациями.
Зато теперь можно не пускать в систему код, который не соответствовует стандарту качества. Мне кажется, лучше соблюдать несколько менее строгий стандарт, чем нарушать идеальный. |
|
19.11.2008, 20:33 | #15 |
Участник
|
Цитата:
Да, после включения настроек на максимум видно 53 отклонения от BP |
|
19.11.2008, 23:16 | #16 |
Member
|
Цитата:
Сообщение от belugin
...
По-моему, совершенно нормальный компромисс - почистить самые серьезные отклонения, несерьезные сделать рекомендациями. ... Все перекрутим, перекрутим, перекрутим, перекрутим, перекрутим чтобы все напрочь запутались и никакого желания дискутировать не осталось. Ну отклонение от рекомендаций. Это типа уже проблемой не считается? То есть решение проблем путем признания их не проблемами? Тут уже некто пошутил насчет выпуска новых продуктов путем придумывания новых названий старым. IMHO это туда же. По поводу философии. IMHO, ВР... ну это можно образно сравнить с культурой. Вот есть, например, этикет. Можно же руками есть в столовой? Удобно ведь. Ну или вот пример получше. Неряшливо одеваться. Очень хорошая тема. Тот же дрес-код на многих форумах и в повседневном общении сколько вопросов вызывает. Ну или вот еще. Можно бумажку или какой другой мусор (бычек от сигареты, например) на улице под ноги бросить (по улице у нас, надеюсь, все ходили хоть когда-нибудь)? Так и ВР. Естественно, на 100 процентов соблюдать не получится. И все по-разному к этому относятся. Зависит от того, как он сам себя ведет (так же, как и с культурой: культурный человек рядом с некультурным себя чувствует дискомфортно, а если наоборот — то очень даже ничего, некультурный рядом с некультурным тоже вполне нормально). Кто-то может бросить бумажку на улице, а кто-то донесет до мусорницы. Причем первый не будет считать, что что-то "не так". Меня иногда от некоторого кода подташнивает. Но я замечал, что другие смотрят на него вполне нормально. Некоторым даже нравится. Зачем нужно стремиться следовать ВР с прикладной точки зрения уже много обсуждали. С общефилософской т.з. вопрос можно свести к тому же: "Нужно ли быть культурным?" Вы бы как ответили на такой вопрос ? Я подозреваю, что по этому вопросу мнения разошлись бы так же, как и в случае с ВР или дрес-кодом.
__________________
С уважением, glibs® |
|
19.11.2008, 23:30 | #17 |
Участник
|
Бурчание в стиле glibs
По делу: 1. правила проверки BP писали программисты 2. разные 3. правила дополнялись в течение длительного времени |
|
20.11.2008, 01:31 | #18 |
Участник
|
Цитата:
Сообщение от glibs
Ну отклонение от рекомендаций. Это типа уже проблемой не считается? То есть решение проблем путем признания их не проблемами?
IMHO, ВР... ну это можно образно сравнить с культурой. Вот есть, например, этикет. Можно же руками есть в столовой? Удобно ведь. Ну или вот пример получше. Неряшливо одеваться. Очень хорошая тема. Тот же дрес-код на многих форумах и в повседневном общении сколько вопросов вызывает. Так и ВР. Естественно, на 100 процентов соблюдать не получится. И все по-разному к этому относятся. Цитата:
Best Practices versus Design
As you’ll see when you read this book, there is a fine line between best practices and design decisions. Best practices tend to be built on the proper use of the technology, taking into account what the technology does, what it does not do, and what it was intended to do. Design decisions tend to account for how that technology can fit into the current culture and how it will map to meeting the business and technology requirements. At some point, design concepts and best practices are intermingled. At other times, best practices are presented with a notation that other design choices might be possible and might be the best choice given a different scenario. |
|
20.11.2008, 07:53 | #19 |
Member
|
Цитата:
Сообщение от gl00mie
...
BP - это не культура ... fit into the current culture ...
__________________
С уважением, glibs® |
|