Премия программиста "Запутанный код"

программист

Когда дело доходит до программистов, то обычное впечатление для неспециалистов - это клетчатая рубашка, большие штаны, шлепанцы, лохматое (лысое) лицо и темные круги под глазами, а "глупый человек, у которого больше денег, быстрее умрет" 🤣 , это внешний мир Присущие программистам мысли, но как программисты в новом веке, мы не такие неряшливые, белые рубашки, костюмы, брюки, черные кожаные туфли, аккуратные прически, это новое поколение фермеров кода 😎

Для нас, инсайдеров, каждый день больше всего контактирует с кодом. Код — друг программиста на всю жизнь. Как только вы вводите код, он подобен морю, поэтому код также является эталоном для оценки уровня программиста. Простота кода, использование API, логика кода, комментарии и т. д. — все это позволяет оценить качество кода... Код, который удобно читать, — это хороший код.

Но разные программисты могут писать разный уровень кода на разных этапах своей карьеры.Сегодня мы оценим несколько запутанных кусков кода, не имеющих отношения к комментариям, и заставим вас улыбнуться. .

No.1

Этот код получает коллекцию заданного типа данных от Redis, получает все элементы коллекции smembers, затем выполняет итерацию, использует счетчик счетчика типа int для записи количества элементов и возвращает результат.

На первый взгляд этот код выглядит нормально, не так ли? Если вы присмотритесь, то обнаружите, что этот код настолько глуп! 😵

Наиболее очевидным является использование итеративного метода для подсчета количества элементов.Боюсь, я не знаю, что в Java есть метод с именем size() в коллекции наборов, и он может напрямую возвращать количество элементов . Тогда что? Есть вопросы? Читатели, знакомые с Redis, знают, что тип данных Redis set также имеет свой собственный API. Если мы хотим получить количество элементов, просто jedis.scard(key) в порядке. Halo, поскольку используется Redis, почему бы вам не разобраться в его основном использовании? давай, братан

No.2

Давайте посмотрим на второй фрагмент кода.Общий смысл этого кода заключается в записи ежемесячных посещений пользователем бизнес-функции.Сначала получить значение месяца, отправленное внешним интерфейсом, склеив его в ключ, а затем получить пользователя ID текущего пользователя. , сохранить ID пользователя в заданном типе данных redis (автоматическая дедупликация), а затем вернуть объем доступа пользователя через шрам (научитесь его использовать после того, как сказали, что есть команда шрама).

На первый взгляд, в этом коде нет ничего плохого, используются все API, которые должны использоваться, и подсчет количества пользователей больше не является глупым циклом. Это не так просто, просто сначала подтверди бизнес-логику у менеджера по продукту, братан. Один и тот же месяц существует каждый год, а как насчет следующего года? Можно ли просматривать месячный трафик все время или через какое-то время его нельзя просмотреть за предыдущие месяцы? Все это подлежит подтверждению.

No.3

Продолжайте смотреть на третий абзац кода, что примерно означает удаление некоторых элементов из itemList, элементы которых являются элементами, чей атрибут кода не находится в codeSet, через два цикла for, сначала пройдите по itemList, чтобы удалить каждый элемент, вытащите его Атрибут code элемента затем проходит через codeSet и добавляет элемент в новый список, когда он оценивается как тот же самый.

. . . Нет необходимости во внутреннем цикле codeSet.contains(code), его сделает API, и ничего не будет добавлено для очистки.

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

No.4

Четвертый абзац таков. Он уже некоторое время распространяется в Интернете, говоря, что это письменный тестовый вопрос для собеседования. Заголовок — сортировка заданного массива int.

У приятеля, который это написал, действительно большая дыра в мозгу, главное, что это было реализовано

Ха ха . . Я не знаю, это шутка или правда. .

No.5

Пятый абзац — это внешний HTML, и в этом коде есть философия. В логике нет лазейки, почему вы говорите, что мой код не хорош. Братья откликаются на просьбу заказчика [очистить кеш], не удивительно, что вы быстро пишете код.

Ха-ха, запугивать клиентов за непонимание кода?

No.6

Идея этого кода тоже очень странная, и большой парень ею восхищается!

No.7

Кто-нибудь еще говорит, что никто не говорит в комментариях? Например, кто-то сказал:

//Кто написал этот абзац?

Затем другой человек поднимает трубку ниже:

// это я, что не так

И тут начинается история...

No.8

Узнал от подруги, что в их компании есть девушка-разработчик.Они делают ивент для отправки баллов.Написали два интерфейса для настройки фронтенда,один для входа и один для начисления баллов.После вход в систему успешен, он сообщает внешнему интерфейсу, что он успешен, и внешний интерфейс снова настраивает его.Интегральный интерфейс.

END

Уровень разработки у каждой проектной команды разный, не паникуйте, увидев "запутанный" код, если знаете, кто его написал, скажите ему по секрету. Какие еще забавные коды вы знаете, оставляйте комментарии.

Выше все содержание сегодняшнего дня.Эта статья не имеет ничего общего с оценкой.Я дам вам улыбку. Я надеюсь, что каждый сможет написать качественный код и достичь вершины жизни! !

Горячие статьи в прошлом:

Добро пожаловать, чтобы обратить внимание, спасибо за вашу поддержку