Нам лектор по джаве рассказывал, что такое правильно написанный код:
- писали они крупное коммерческое ПО, очень длинное, закочнили, продали компании, как к ним пришла другая и грит, вот так и сяк, нам понравилось, что вы сделали для другой корпорации, сделайте нам такое же, только мы хотим еще вот это, это и то.
Чтобы сделать это, это и то у программистов ушло 15 мин (вот что значит хорошо написанный код) и 1 день тестирования. Компания на это сделке срубила около миллиона.
341 23.10.2015 10:36:22 Отредактировано stdlib (23.10.2015 10:38:11)
Хороший код - это когда глянул на код, пробежал глазами, и сразу понятно, что программа делает, куда какая переменная идет, что функция описывает и т.д. В хорошем коде тело функции в среднем занимает от 5 до 7 строчек, имеет название в камэлКэйс и равные отступы (обычно по 3 пробела). Иф стейтменты не уползают право, что приходится проматывать экран, а код не похож на спагетти, которое утекает за экран монитора. Еще хороший код желательно написан на ООП, с использованием полиморфизма, наследование, инкапсуляцию, абстракт классы, и имеют заданные прототипы.
Вы сами-то верите, что программа может соблюсти каждое из этих требований? Я - нет.
343 23.10.2015 10:43:45 Отредактировано stdlib (23.10.2015 10:46:16)
Вы сами-то верите, что программа может соблюсти каждое из этих требований? Я - нет.
Да, в нашем универе все студенты так пишут.
Это не сложно, просто чтобы освоить ООП, требуется время и контроль лектора, либо самостоятельная усидчивость. Кто же спорит, что это самому выучить нельзя. Можно, но мне пока не попадались такие индивиды.
Это философия.
А на самом деле если применяешь термин "говнокод", то должен понимать его значение.
Пока что я зашёл на сайт http://govnokod.ru/ и вижу, что если код зависит от версии компилятора, то он говнокод. Другие варианты пока не понял.
Вы сами-то верите, что программа может соблюсти каждое из этих требований? Я - нет.
Можно, если хватает ресурсов.
Просто код, который пишут в корпорациях, это не код на 10,000 строчек. Это код на миллион строчек и более. Там работают в командах и никто в твоей суперстайлписанине разбираться не будет - тебе просто выдают листочек "как принято" и все, кодишь в том стиле, в каком надо.
Хорошо если выдают.
347 23.10.2015 10:51:43 Отредактировано keal (23.10.2015 10:52:04)
Это философия.
А на самом деле если применяешь термин "говнокод", то должен понимать его значение.
Пока что я зашёл на сайт http://govnokod.ru/ и вижу, что если код зависит от версии компилятора, то он говнокод. Другие варианты пока не понял.
http://govnokod.ru/9512
Простой пример говнокода.
348 23.10.2015 11:00:18 Отредактировано keal (23.10.2015 11:03:39)
kaprizka пишет:Вы сами-то верите, что программа может соблюсти каждое из этих требований? Я - нет.
Можно, если хватает ресурсов.
Все эти требования можно условно разделить на две части. Сoding convention - наименование переменных, классов, порядок объявления, отступы и т.д. И архитектура проекта - применение паттернов, метапатернов и просто свои правила по назначению и применению классов.
Если в проекта такое уже есть, то все очень просто. Если надо писать с нуля, то вся проблема в отсутствии времени для создания всех этих условий. Тут уж от менеджента зависит. Ну можно еще параллельно все это делать. Но это больше от желания программистов зависит. Или от опыта, чтобы сходу написать архитектуру для конкретного проекта и его задач.
Не был в отделе, где пишут проги для самолетов, но там говорят все очень жестко.
Вы меня вообще тут удивили, что коды могут быть написаны по-разному )
Шайтанама!
Вы меня вообще тут удивили, что коды могут быть написаны по-разному )
Шайтанама!
шпили-вили)))
Вы меня вообще тут удивили, что коды могут быть написаны по-разному )
Шайтанама!
муахахахахаааааа
Нам лектор по джаве рассказывал, что такое правильно написанный код:
- писали они крупное коммерческое ПО, очень длинное, закочнили, продали компании, как к ним пришла другая и грит, вот так и сяк, нам понравилось, что вы сделали для другой корпорации, сделайте нам такое же, только мы хотим еще вот это, это и то.
Чтобы сделать это, это и то у программистов ушло 15 мин (вот что значит хорошо написанный код) и 1 день тестирования. Компания на это сделке срубила около миллиона.
ну да, типо так и бывает, 15 мин. - это конечно с мало, но день тестирования вполне реально
353 23.10.2015 16:33:35 Отредактировано euro (23.10.2015 16:38:15)
А может, приведёте примеры говнокода и "хорошего и красивого кода"?
Есть подозрение, что последний - тоже на самом деле говнокод.
судя по своему опыту работы с разными программистами, могу сказать что говнокодом для них обычно считается - отсебятина, без нужной документации. т е сложно такой "код" потом другим читать и как-то соединять в общий проект. решается все обычно элементарным менеджментом и толковой архитектурой. вообще при любом программерском проекте нужно брать именно уже менеджера, чтобы тот под себя нашел команду, какая ему нужна и выдал им четкие указания как именно что писать и оформлять.
354 23.10.2015 17:04:27 Отредактировано euro (23.10.2015 17:08:19)
ну и еще прекрасное на мой взгляд про программеров.
по "тестовым заданиям"обычно ищут кодеров оутсорсинговых.
для нормальных проектов - отбирают именно по образу мышления и умению быстро адаптироваться к постоянно меняющейся сфере.
— На котором из спутников Юпитера вулканы, а на котором — подземный жидкий океан?
Вулканы на Ио, а жидкий океан то ли на Европе, то ли на Ганимеде, а может, и на обоих.
— В чём состоит «гигиеническая гипотеза» в иммунологии?
Понятия не имею. Но предполагаю, что в интернете это найти можно.
— Основные различия civil law и common law?
А юрист его знает!
— Для каких задач используются квантовые компьютеры от D-Wave и почему именно здесь у них преимущество над классическими методами?
Понятия не имею, кто такое D-ware, а квантовые компьютеры нужны для взлома шифров (дискретное логарифмирование, разложение на множители, вычисление функции Эйлера для больших чисел и т.п.) и для быстрого поиска в несортированном списке.
— Как примерно видели мир Платон, Пифагор, Гераклит и Аристотель? Сформулируйте отличие их метафизики в нескольких предложениях.
Про Гераклита ничего не знаю. Слышал это имя, но значния не придавал.
Как видел мир Платон, представляю смутно. По-моему, в виде иерархии, которую он идеализировал в мифе про Атлантиду.
Пифагор видел мир как набор чисел. Так и сказал: "Всё есть число".
Аристотель: "Каждая вещь стремится занять подобающее ей место и остановиться". Там есть ещё высказывания, опровергнутые Галилеем, но мне лень их приводить.
— Что такое ультрафильтр?
Впервые вижу это слово. И даже в гугл лень лезть за значением. А самому догадываться тоже лень, потомучто легко ошибиться - гипотез-то имеется несколько.
— У вас 48 часов, и злобный заказчик поставил вам задачу сделать вызывающий доверие и работающий клон фейсбука, google search или написать новый браузерный движок (на выбор). Как бы вы решили такую задачу?
Я бы её не решил.
— Какие новые технологии батарей сейчас проходят обкатку и вот-вот появятся на рынке?
Понятия не имею.
Когда-то интересовался этим вопросом, а сейчас перестал.
— Опишите крупномасштабную структуру Вселенной.
Блинчики!
.
http://govnokod.ru/9512
Простой пример говнокода.
Некая переменная инвертируется в случае ненулевого значения другой переменной (по смыслу имени похожей на функцию, но нет скобок).
Я допускаю, что это - говнокод. Потомучто лишнее присваивание в случае нулевого значения onExpandClick.
Но ты-то сообщал о существовании не говнокода!
Кода в миллион строк, умещающегося в 7 строк текста и при этом понятного.
эх не возьмут тебя Капризка в стартап ))
Чувак, составивший эти вопросы сам аналогичный тест не пройдет, если этот тест напишет капризка.
эх не возьмут тебя Капризка в стартап ))
Хочешь сказать, что Вселенная не состряпана из блинчиков?!
Да ладно, я и так знал, что меня никуда не возьмут. Потому и не хожу на собеседования.
Чувак, составивший эти вопросы сам аналогичный тест не пройдет, если этот тест напишет капризка.
Согласен. Но это если очно. А если дистанционно, то чувак просто залезет в интернет и почерпнёт оттуда почти любые ответы.
Чувак, составивший эти вопросы сам аналогичный тест не пройдет, если этот тест напишет капризка.
можем проверить ))