Pull to refresh

Comments 2

Большинство описанных граблей решается грамотной реализацией внутри ФМ'ов и EXIT'ов. Например, чтобы избежать исключений связанных с отсутствием обработки ошибки из ФМ'a, реализацию ФМ'a можно обернуть в ООП стиле, тогда ФМ сам по себе будет служить исключительно обёрткой над ООП моделью. В юнит-тестах будут тестироваться не ФМ, а ООП модели.

Жестко зашитые выборки в ABAP 7.5. можно обойти через тестовые инъекции. Хотя как мне кажется, лучше все таки программировать заранее обдумывая моменты тестирования, чем потом выкручиваться за счёт таких инъекций.
Конечно, чем грамотнее код, тем проще на него писать тесты, кто бы спорил.

Мне не кажется, что дополнительные обёртки улучшат продуктивный код. Только лишние наслоения. Как говорили умные люди: любую проблему можно лишить путём введения дополнительного уровня абстракции, кроме проблемы слишком большого количества уровней абстракций. Или вы поясните на примере?
Вот у меня тут наоборотный пример под рукой есть. Есть БАДИ, значит типа ООП. Захожу, смотрю. Каждый метод представлен в виде ФМ из одной общей группы. И в этом обёрточном ООП нет ничего кроме вызова соответствующих ФМ с передачей всех параметров. Грабля это или нет, я пока не определился. Пока работает, ну и ладно, чего трогать-то.

А насчет 7.50 это пока не ко мне, у нас только с полгода как сделали апгрейд с 7.0 на 7.4, хватит пока апгрейдов. Вот доживём, тогда и пощупаем.
Sign up to leave a comment.

Articles