Задать вопрос
Ответы пользователя по тегу Программирование
  • Где грани между быдлокодом, промежуточной стадией и профессиональным программированием?

    Понимаете, говокод это нечто собирательное. Как и красивый код.
    Тем не менее, пишем проеты мы в первую очередь для того что бы зарабатывать деньги. С течением времени стоимость поддержки кода увеличивается. И задача хорошего программиста стоимость этой поддержки снизить как можно сильнее. То есть по сути сэкономить бабла заказчику, и за это заработать больше самому.
    И вот есть куча книжек про то, как писать красивый код и не писать говнокод. Такие как чистый код, совершенный код, банда четырёх, и.т.д. Так вот - это всё книжки в первую очередь про то, как экономить бабло (и время, что в общем-то равно).

    Если вы напишите код как в ответе Василий например, то его наверняка многие назовут говнокодом. Но если это самый быстрый способ для вас выполнить задачу, (хотя может быть и существуют готовые решения, и вы только что придумали велосипед) и при этом этот код вряд ли будет меняться в будующем, то какая разница? Ну разве что отсутствие душевного удволетворения.

    По этому я стараюсь избегать слов "говнокод" и "красивый код". Есть код который имеет хорошие или плохие характеристики, в контексте выполняемой задачи. Характеристик много, от функциональных:
    Выполнение поставленной задачи.
    Отсутствие багов.
    Скорость работы.
    До качественных:
    Цикломатическая сложность, Связность, Сфокусированность, Тестабельность, Читабельность, Понимабельность, и.т.д.

    Рецепт хорошего кода прост. Думайте какие характеристики для вас важны, и отвечает ли ваш код этим характеристикам. Если не отвечает - то возможно это и есть то, что обычно называют говнокодом.
    Ответ написан
    Комментировать
  • Какие посоветуете книги по олимпиадному програмированию для начинающих веб-разработчиков?

    Вы знаете, основная проблема языка JavaScript по отношении к олимпиадному программированию то, что в олимпиадах по программированию не принимаются решения на JavaScript (в большинстве случаев).

    java/c/c++ действительно основные из за шустрости, статической типизации и прочего.
    Тем не менее многие начинающие олимпиадники сейчас активно используют python. Я когда занимался олимпиадами тоже использовал (хоть и не всегда). Он хоть и не очень шустрый, но простой, и со знанием дела можно спокойно писать большинство задач. И принимают решения на нём сейчас почти везде.

    Так же рекомендую заглянуть на сайт: informatics.mccme.ru
    Ответ написан
    Комментировать