Программные сленги

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

Программирование - это то, что иногда недооценивается и определенно переоценивается в некоторых случаях, но работать в этой среде, которая не сильно отличается от любых других рабочих мест, - это весело. Как и в других местах, у нас есть люди, говорящие на всех языках (кстати, мы не говорим Java, Swift, C), из-за эпохи Интернета самые разные люди, говорящие на разных языках, общаются друг с другом, даже если они не говорят. Не понимаю языков, на которых говорит другой человек. Язык программирования - это одна из парадигм, которая объединяет всех программистов как единое целое, но также и разнообразит их (под диверсификацией я имею в виду сообщества внутри, к которым принадлежит программист, но давайте поговорим об этом как-нибудь на днях).

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

Код спагетти

Большинство программистов слышали об этом термине, а также иногда использовали его в разговорах со своими коллегами. В основном это означает любое программное обеспечение или программу, которая является неструктурированной и неорганизованной, которая не следует шаблону как таковому, который логически определяет, почему это делается именно так. изображение ниже может объяснить, почему это называется спагетти-кодом.

Кодовый запах

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

  • Создает variable, но не использует его.
  • Класс или база кода, которая находится в одном файле и заканчивается более чем 600–700 строкой кода.
  • Куча кода, который повторяется более двух раз в некоторых местах вашей кодовой базы, это огромный риск, когда дело доходит до поддержки кода в течение длительного времени, и поэтому объявлен запахом кода или потенциальной проблемой. Сегодня компиляторы достаточно умны, чтобы оптимизировать ваш двоичный код и удалить неиспользуемый код, но как насчет людей, читающих ваш код, ваших коллег?

Строковый тип

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

// providing the error message as part of the call
let errorAlert = Alert.show("Something went wrong!")
// providing the image name
let image = UIImage("company-logo")

На первый взгляд вы скажете, в чем проблема, но когда у вас есть команда из 10 разработчиков, работающих над вашим кодом более 6 месяцев, представьте, сколько жестко закодированных строк вы будете использовать в нескольких местах, теперь рассмотрим сценарий, когда вас просят изменить сообщение об ошибке с Something went wrong! на Something went wrong, please try again!, каков был бы ваш подход к нему, вы бы обнаружили все существование этого и заменили его новым. В этом нет ничего плохого, но что, если при замене текста вы изменили файл, в который ваш коллега внес изменения и собирается совершить фиксацию, я могу привести сюда все реальные проблемы, чтобы вам было сложно поддерживать код, но что, если бы мы могли избежать этого, определив их в одном месте и используя во всех других местах

struct ErrorMessages {
    // Can be updated to "Something went wrong, please try again!"
    static let genericError = "Something went wrong!"
}
struct Images {
    static appLogo = "company-logo"
    static backArrow = "back-arrow-black"
}

Используйте их в таких местах, как

// providing the error message, which is defined at one place
let errorAlert = Alert.show(ErrorMessages.genericError)
// providing the image name, which is defined at one place
let image = UIImage(Images.appLogo)

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

Магические числа

Числа, которые могут гадать 😄, Приколы. Это числа, жестко закодированные в вашем коде без объяснения причин, и они делают что-то, что заставляет ваш код работать, но когда рецензент или коллега смотрит на них, они не имеют для них никакого смысла. Подумайте о сценарии, когда вы пишете функцию, в которой вы хотите проверить, находится ли продукт в пределах ценовой маржи ± 10%.

let withinMargin = price > (price * 0.90) && price < (price * 1.10)

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

Вы бы скорее написали.

struct Price {
    static let margin = 0.10
}
// your threshold calculation
let lowerThreshold = actualPrice * (1 - Price.margin)
let upperThreshold = actualPrice * (1 + Price.margin)
// your final code here
let withinMargin = price > lowerThreshold && price < upperThreshold

Этот код стал более понятным и понятным.

Резиновый утенок

Я слышал этот термин во время онлайн-интервью еще в 2017 году,
(В интервью. Когда я застрял в каком-то месте, интервьюер сказал «поговори с уткой», и я подумал, что такое «аааа какая утка !!!»).

По сути, разговор с уткой не означает разговор с настоящей уткой. а воображаемая резиновая уточка. Теперь в жизни программистов бывают ситуации, когда они застревают в каком-то месте в каком-то коде и очень стараются понять это, и они могут поговорить с другом или коллегой, чтобы объяснить им проблему. к ним мгновенно, и они как ааа! неважно, я понял. Со мной такое случается часто.

Отчет о контрабанде

Это то, что знают очень немногие, но все они сталкивались с этим.

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

Заправка

Это забавно, это полная противоположность рефакторингу, большинство из нас сделали некоторый рефакторинг в нашей кодовой базе, иногда для поддержки новых функций несколько раз, чтобы избежать устаревания несколько раз для улучшения архитектуры. Но. когда вы в конечном итоге разрушаете то, что было хорошо, и ухудшаете, - это рефакторинг, в основном вы испортили код. Бывает, когда мы прыгаем к авторитету, не зная заранее о том, что происходит, но все же хотим что-то изменить 😆

Стрижка яка

Более забавные еще впереди, это похоже на бритье яка, теперь под яком мы имеем в виду все задачи, которые мы должны выполнить, прежде чем мы перейдем к запуску кода, позвольте мне поговорить. Мой друг присоединился к новой компании, и я разговаривал с ним на днях и спрашивал: «Как дела, ты начал программировать, тебе это нравится?», Он сказал: «Неа! Сначала я должен побрить яка ».
Означает, что он должен выполнить все необходимое, прежде чем он сможет делать то, что он хочет, с такими вещами, как выполнение конфигурации машины, получение учетных данных, получение доступа к git и т. Д.

Ошибка безумной подруги

Я обещал тебе забавный. Чтобы понять это, вам не обязательно состоять в отношениях. Это в основном означает, что происходит что-то странное, но ваш код говорит, что я в порядке, и все в порядке. (Это должно объяснить это.)

Код Jenga

Мы все играли в Jenga или видели, как люди играют в нее, код Jenga - это та же концепция, когда вы работаете с базой кода, когда вы касаетесь одной вещи, и все падает и перестает работать, ну, это код Jenga.

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