Могу себе представить. Боссу, как ни печально, иногда бывает очень сложно объяснить, почему, программа, генерирующая 100кб отчет, разрабатывалась дольше чем программа, генерирующая 100гб отчет. С его точки зрения это происходит это из-за излишнего увлечения ковырянием в носу.
С ПО и оценкой его качества и значимости и трудоемкости вообще все плохо, особенно в малом и среднем бизнесе. Программиста хоть как-то может оценить только другой программист, остальные(менеджеры, заказчики, ...) могут оценивать только по результатам совместной работы в проекте.
В идеально мире это так, но на деле макрос в чужом коде(я сейчас не про лисп а в общем) детектируется глазами очень сложно, он может выдавать себя за другую конструкцию языка(функция, опкод, оператор,...), не являясь таковой. В итоге: сначала нужно понять, что это макрос, потом найти его объявление, потом разобраться как он работает.Та-же лабуда с перегрузкой операторов.
Понятно, что есть good/bad-pratice, но этого не мешает плохому коду появляться на свет.
Кстати, когда требуется, допустим, передать NSRange в обзервер я конвертирую его в NSString(sic!) и потом в обсервере обратно в NSRange. По хорошему нужно бы для таких случаев иметь класс-обертку, но это гораздо больше работы и еще один мини-класс-утилита, решающий задачу, непонятно почему нерешенную, авторами стандартного фреймворка.
Ага, макросы — отличный способ расширить язык и не дать заказчику сменить исполнителя, уйти на поддержку в другую компанию. Как, впрочем, и сам Common Lisp.
В смысле дать возможность нет отрывать руки от основной части клавиатуры и неважно как это будет сделано, настройками или просто альтернативными хоткеями. Например по аналогии с emacs: www.rgrjr.com/emacs/emacs_cheat.html, таблица Cursor Motion.
Документацией я пользуюсь регулярно, но както этот класс пропустил, поэтому юзал NSStringFromRange
Понятно, что есть good/bad-pratice, но этого не мешает плохому коду появляться на свет.
msdn.microsoft.com/en-us/library/aa511280.aspx
developer.gnome.org/hig-book/3.0/icons.html.en
developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/IconsImages/IconsImages.html#//apple_ref/doc/uid/20000967-TP6