![]() |
#2 |
Axapta
|
Цитата:
Сообщение от sukhanchik
![]() Мысль интересная, но обычно все пытаются облегчить написание кода или процесс его вливания в общее приложение, но никто обычно не задумывается про удобство чтения кода (тут конечно нет, но когда макросами заменяют целые выражения типа метода find или еще как-то - то вопрос возникает).
А между прочим - удобство чтения кода - залог и определенная гарантия его работоспособности. ![]() X++: ... #localmacro.attrFilter %1 #endMacro ... #localmacro.table tableMapping=new IntegrTableMapping_Master(tableNum(#tableName), '%1'); ret.add(tableMapping,'%2'); #endmacro #localmacro.field tableMapping.add( new IntegrFieldMapping( #attrFilter(IntegrTableFieldAttribute::construct( tableNum(#tableName), fieldNum(#tableName, %1) )) ) ); #endmacro #localmacro.GUIDField tableMapping.add( new IntegrFieldMapping_Guid( #attrFilter(IntegrTableFieldAttribute::construct( tableNum(#tableName), fieldNum(#tableName, %1) )) , tableNum(%2), fieldNum(%2, %3) #ifnot.empty(%4), %4 #endif ) ); #endmacro // ... // еще десяток подобных макросов на все случаи жизни, но зато дальше весь код был "простой и удобный" :) // ... #define.tableName(InventJournalTable) #table(inventJournalTable) #field(GUID) #field(journalId) #field(JournalType) #field(JournalNameId) #field(JournalDate) #GUIDField(fromInventLocation, InventLocation, inventLocationID) #GUIDField(toInventLocation, InventLocation, inventLocationID) #method(department) //... ![]() |
|
|
За это сообщение автора поблагодарили: BOAL (2), sukhanchik (2), lev (2), ViV (1). |
|
|