LINUX.ORG.RU
ФорумTalks

аспектно-ориентированное программирование

 


0

1

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

Я подумал, что было бы неплохо описывать отладочный вывод где-то вне кода. С использованием какого-нибудь упрощённого паттерн-матчинга для AST, чтобы можно было писать что-нибудь вроде «в функции foo() вставить отладочный вывод значения переменной bar до и после каждого вызова baz()». А дальше какая-нибудь утилита при компиляции брала бы исходник и вставляла в него отладочный вывод в соответствии с этой инструкцией.

Оказывается, то, что о чём я мечтал, было придумано ранее и громко названо Аспектно-Ориентированным Программированием.

Вопрос: зачем так пафосно?

Перемещено tailgunner из development

Надоже было както это назвать. Опять же новый термин, диссертации,книги, пиар одним словом.

Можно ещё задвинуть термин 'субъективное программирование'. И рубить на этом деньги.

MKuznetsov ★★★★★ ()

Претензия только к пафосности названия?

tailgunner ★★★★★ ()

зачем так пафосно?

Это не технический вопрос.

thesis ★★★★★ ()
Ответ на: комментарий от next_time

потому, что его можно использовать не только для отладки

Можно, но зачем? Во всех остальных случаях эта техника позволяет сделать код только ещё запутанней. Каждая ода о АОП это нытьё про недодизайн и способы его закостыливания.

mashina ★★★★★ ()

декораторы в питоне.

в форте для этого замещение интерпретатора(кода кодового слова для интроспекции интерисующего слова) прокатывало

qulinxao ★★☆ ()
Ответ на: комментарий от next_time

так оно и есть — но факта того, что АОП — отдельная парадигма это не отменяет

Парадигмой АОП называть жирно, так же monkey patching можно отнести к парадигмам программирования или spaghetti code.

mashina ★★★★★ ()
Ответ на: комментарий от anonymous

А теперь опиши как это должно быть.

Должно быть пафосно.

utf8nowhere ★★ ()
Ответ на: комментарий от anonymous

Слово «аспект» пафосное?

Считать это за отдельную парадигму пафосно, не тупи.

utf8nowhere ★★ ()

а как, например, с помощью этого АОП можно сделать отладочный вывод в начале и в конце каждой функции и\или метода класса (с++) ?

x905 ★★★★★ ()
Ответ на: комментарий от redgremlin

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

ya-betmen ★★★★★ ()
Ответ на: комментарий от utf8nowhere

Даже частичный перевод на русский есть

очень многобукв
в пару слов - можно ли это сделать просто или придется читать и делать сложно ?

x905 ★★★★★ ()
Ответ на: комментарий от x905

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

utf8nowhere ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.