Денис, Ваш вариант ничем не лучше Выше предложенных. Попробую пояснить в чем крутость python-декораторов.
1) Вам не надо создавать какой-либо объект-обертку! Все что Вам надо это написать "@" и имя функции декоратора! Одну строку!
2) В случае python-декораторов функция декоратор почти не видна и вы видете как правило только '@' и основное внимание сразу же цепляются только на саму декорируемую функцию, что без условно является верным и правильным, т.к. ведет к повышению читабельности кода.
Более-того Ваши слова про строго типизированность не совсем понятны. Как типизированность может мешать добавлению "декораторов" ?
Как бы я хотел и ожидал бы от Go?
decor(StartAndEndMsgWriter)
func WriteUnpackedFile() {
// more code
}
В этом куске кода мое внимание приковывается сразу же на тело функции, где сейчас "// more code"
Вообщем я бы хотел чтобы в Go появились или подобные аннотации в Java или декораторы подобные в Python.
среда, 25 декабря 2013 г., 6:31:53 UTC+4 пользователь Denis Portnov написал: