Ну вот вы уже и пришли к тому, что качество тоже нужно, просто клиент должен чётко понимать, за что он платит, что необходимо, а на чём можно сэкономить. А если клиент хочет экономить на всём подряд, то это повод задуматься - стоит ли работа с таким клиентом (или работодателем) времени и нервов.
> Никого кроме вас не будет волновать ваша архитектура.
Так получается у людей, не умеющих объяснять бизнесу, для чего нужна архитектура, чистый код, тесты и тому подобное и сколько он (бизнес) сэкономит, если проект не будет писаться абы как.
fshp полно вам, пусть развлекается, как хочет. Как говорил Дарвин: "Невежество чаще порождает уверенность, нежели знания", это как раз тот случай. Подрастёт - поумнеет.
Макконнелл в "Совершенном Коде" пишет, что, цитирую "немногие люди способны понять более трех уровней вложенности if", ссылаясь на работы Ноама Хомски. Холиварный, конечно, вопрос, но я предпочитаю писать код понятный большинству, а не только мне.
Дмитрий телеграм для Андроида на стандартном джавайском sdk написан, с вкраплениями собственноручно написанного нативного кода. qt там вообще не используется.
А можно чуть подробнее расписать, откуда появилась такая задача? Просто сериализация геттеров - это что-то совсем за гранью добра и зла, как мне кажется. Может быть можно как-то переформулировать задачу, чтобы стало понятно, что там нужно сделать?
1) Это не лучше. Во-первых вы залогировали исключение на неправильном уровне (i - для информативных сообщений, а не для ошибок), во-вторых ваше сообщение на уровне логирования info ("Exception") успешно теряет всю нужную информацию, в-третьих задачу "Отфильтровать все сообщения из лога, происходящие в FoobarActivity, на уровне логирования info/warn/error/etc" ваш код как не решал, так и не решает.
2) Нужно написать свою собственную систему сбора крэшей, которая на отладочных версиях приложения пишет ошибку в стандартный поток, а на release версиях - в отдельный файл, содержимое которого периодически отсылается на удалённый сервер для сбора и анализа. Логгер (не стандартный андроидовский, а вообще как сама идея абстракции для логирования событий, происходящих в приложении) позволит быстро отделить одно от другого, printStackTrace() - нет.
3) Как связан пассаж про утилиты, плагины и SomeUntrustedUtil с тем, что я написал - не понятно.
Бог говнокода - может быть. А адекватный разработчик знает про уровни логирования, фильтрацию лог-сообщений, подмену того ресурса, в который будет писаться лог и printStackTrace() для вывода лога не использует.
Александр Васюченко Это не решение. Пользователю с девайсом на Android 6 ничего не мешает взять и отозвать permission на геолокацию, даже если у вас targetSdkVersion меньше 23, после чего приложение у вас начнёт крэшиться.