Разработка → Жаргон программистов

Yakhnev 25 июня 2010 в 14:21 27,3k
Наткнулся на Stackoverflow.com на интересный топик с вопросом о новом в программистском жаргоне. Предлагаю здесь подборку наиболее интересных выражений.

Египетские операторные скобки

if (a == b) {<br>  printf("hello");<br>}<br><br>


Fear Driven Development


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

Hope Driven Development

Разработка, управляемая надеждой — разработка в длительном неспланированном цикле с надеждой, что все заработает в релизе

Rob Busack: Реальная модель водопада Waterfall Model.


Названо после ежегодного уикэнда быстрой разработки имени Rob Busack.

РеФАКторинг

реФАКторинг — получение полностью неподдерживаемого кода путем небольших изменений качественного и хорошо спроектированного кода.

Код — Пахлава


Многослойный многоуровневый код

Нажимай сильнее /Неправильный палец/ правильно держи мышку

Реакция разработчика на утверждения тестировщиков о том, что что-то не работает при использовании одного из устройств ввода.
Тестировщик: Модуль X не работает корректно
Разработчик: Покажите шаги тестирования
Тестировщик: Я коснулся его, затем… ой, подождите, сейчас все работает .
Разработчик: Каким пальцем вы касаетесь экрана?
Тестировщик: Указательный палец
Разработчик: Должно быть раньше вы использовали неправильный палец.
Тестировщик: Да… пожалуй..


Строковая типизация (Stringly typed vs strongly typed)

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


Естественный отбор

Замена чужого кода собственным.


frAGILE

frAGILE — выведение людей из себя путем неверного использования методологий Agile

Менеджер проекта: Давайте использовать методологии Agile!
Разработчик: Окей. Я буду делать минимум для достижения необходимой бизнес-функциональности.
Менеджер проекта: Отлично!
Разработчик: Мы сможем сделать рефакторинг после того, как будут построены другие части системы. Сейчас это не очень важно.
Менеджер проекта: Хорошо. Мы не должны делать больше, чем нужно
Позже в проекте…
Разработчик: Мы нуждаемся в рефакторинге, потому что код неподдерживаемый
… Затем…
Менеджер проекта: Выбор отговорки для отказа от развертывания:
  • Мы сможем сделать это немного позже
  • Если все работает, зачем что-то менять?
  • У нас нет времени на этот «рефакторинг»
  • Я обещаю, что мы сделаем это позже
В итоге: Разработчик страдает от увеличивающегося бессвязного кода-спагетти и никого это не заботит.
CTO: Agile это отвратительно! Никогда не будем использовать это! Модель водопада рулит!


Босс-билд

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

Интерфейс Джеймса Бонда


Контракт очень хорошо определен и документирован, но в реальности ничего не реализовано.

Класстрофобия

Отказ от объектно-ориентированного подхода при очевидной необходимости и возможности его использования.

Очень ориентированное программирование(ООП, Over Oriented Programming)

Использование пяти уровней классов, когда можно обойтись только одним


Паттерн документирования «Буказоид»(Bukazoid documentation pattern)

Все описание бесполезно и не отвечает ни на один из возникающих вопросов к коду. Вместо буказоидов можно использовать любое несуществующее слово, в русском языке, похоже, больше всего подходят бутявки.
/**<br> * Bukazoid manager is a manager to manage bukazoids.<br> */<br>public class BukazoidManager extends SomeOtherClass {<br>...<br>}<br><br>

Метод Перкова

The Perkov Method — стиль программирования, основанный на комментариях в виде псевдо-кода и допущении, что кто-то, кто будет делать обзоры кода реализует недостающую функциональность. В финальной стадии комментарии могут быть в 4 раза подробнее, чем это необходимо в реализации.Пример: обычная реализация Hello World:
class Program <br>{ <br>  static int Main(string[] args) <br>  {     <br>    Console.WriteLine("Hello World"); <br>  } <br>}<br><br>
Реализация по методу Перкова:
class Program <br>{ <br>  static int Main(string[] args) <br>  {  <br>    // at this point the program really should be outputting text to the <br>    // console. we must take into account 78 character maximum line length<br>    // and ensure that we use Environment.NewLine for line endings. <br>    // ideally should provide multi-region language support and UTF-8 / <br>    // UTF-16 encoding. <br>  } <br>}<br><br>


Маркетинговые байты

Байты, измеряемые как множители 1000


Корабль в бутылке


API упрощен до такой степени, что пользоваться им до отчаяния сложно.

Методология разработки Пинг-Понг


Пусть пользователи будут тестировщиками, подайте им сырой продукт и примите порцию багов.

Дарвиновское программирование/Экспериментальное программирование

Изменение кода(как правило, случайное) без понимания смысла изменений, пока он не заработает. Например, замена инкремента на декремент.


TDDD: Technical Debt-Driven Development

(*исправлено хабраюзером dale )Разработка управляемая техническим долгом. То есть, когда разработчик постоянно откладывает фиксы и улучшения в коде «на потом».
Проголосовать:
+254
Сохранить: