LINUX.ORG.RU
ФорумTalks

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

 аоп


0

1

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

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

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

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

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

★★★

Последнее исправление: utf8nowhere (всего исправлений: 4)

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

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

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

Да какая разница. Можно обработку эксепшенов добавить, можно методы в класс, можно авторизацию.

Суть не меняется.

utf8nowhere ★★★
() автор топика

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

tailgunner ★★★★★
()

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

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

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

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

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

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

ты вновь показал свою тупизну

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

А регэкспы почему не тянут? Введём новую парадигму: регулярно-ориентированное программирование.

utf8nowhere ★★★
() автор топика

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

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

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

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

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

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

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

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

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

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

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

utf8nowhere ★★★
() автор топика

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

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

В сортах изоморфных объектов не разбираюсь :(

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

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

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

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

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

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

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

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