изучаю яп, выполняю всякие задания. смотря решение одной из задач(от другого пользователя), понял, что это все делается проще(без if'а и другого). понятно, что новичкам это свойственно, но хочу узнать, считается ли выполнение задачи альтернативно(больше кода, чуть усложняя) за ошибку? или же это обычный говнокод?(боюсь и дальше делать так)
За ошибку не считается. Но говнокод есть говнокод - со всеми вытекающими (сложнее расширять, поддерживать и т.д.)
Однако нет четкой границы между говнокодом и чистым кодом. Стремиться сделать свой код чище - это хорошо, но за это нужно также и платить. Даже профи вынужден тратить больше сил и времени, чтобы оформлять код кратко, понятно и красиво. Так что иногда даже нужно писать говнокод. Внезапное открытие? :) Например, когда хотите что-то по-быстрому проверить для себя или одноразово пройтись скриптом по каким-то данным.
Bavashi, чем большим количеством нюансов и правил программист пренебрегает, чем быстрее пишет, чем меньше тестирует, чем меньше размышляет и даже медитирует над кодом, тем более код грязный.
Четкий критерий (да и то не всегда) только один - работает / не работает. А такие свойства как "понятный", "красивый", "удобный", "расширяемый", "краткий", "производительный" довольно субъективны и/или относительны.
Также стоит отметить, что у понятного кода больше вероятность быть оптимизированным компилятором, в то время как специфические конструкции тупо транслируются в большие куски нижележащего кода.
Размер кода никак не коррелирует с его качеством.
Такого говняного кода, который пишется ради "лаконичности" на CodeGolf, не найдешь ни у одного безрукого новичка. Поддержке эти творения в принципе не подлежат.