Идеалистичный и Прагматичный программисты


  • Прагматичный программист считает, что лучше сделать плохо, чем хорошо не сделать.

  • Идеалистичный программист уверен в противоположном


  • Идеалистичный программист знает, что самое важное - технологии

  • Прагматичный - что исполнители


  • Идеалистичный программист оптимизирует код, который выполняется долго

  • Прагматичный программист оптимизирует код, который выполняется часто


  • Прагматичный программист считает, что из вариантов «код выполняется быстро, но зависает при каждом миллионном запуске» и «код не зависает, но выполняется медленно» следует однозначно выбирать первый

  • Идеалистичный программист - что второй


  • Идеалистичный программист - предпочитает гибкость

  • Прагматичный - простоту


  • Идеалистичный программист - ориентируется на удобство тестирования

  • Прагматичный - на удобство использования


  • Прагматичный программист радуется, когда ему удаётся подчистить API

  • Идеалистичный - когда добавляет поддержку 42987375804-го драйвера БД в своё ORM


  • Идеалистичный программист выбирает себе любимую фичу: скорость, безопасность, расход памяти, размер кода, гибкость, абсолютный ООП и затачивает каждый байт своих программ на её реализацию и поддержку. Качество чужих программ оценивается по ней в первую очередь

  • Прагматичный программист пытается выдержать баланс


  • Для идеалистичного программиста главное - что скажет другой идеалистичный программист, увидев его код

  • Для прагматичного - что скажет заказчик, запустив его приложение


  • Идеалистичный программист ненавидит повторы кода

  • Прагматичный - непонятный код


  • Идеалистичный программист первым делом смотрит библиотечный код

  • Прагматичный - клиентский


  • Идеалистичному программисту оценивает качество документации

  • Прагматичному - качество кода (стиль кодирования)


  • Само качество кода Идеалистичный програмист оценивает по наличию / отсутствию комментариев.

  • Праматичный - по именам переменных, классов и методов.


  • Идеалистичный программист любит искать готовые решения и не любит писать код самостоятельно. Не изобретай велосипедов - его любимая присказка

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


  • Прагматичный программист оценивает прогресс по майлстоунам

  • Идеалистичный - по листу багтрекинга


  • Идеалистичный программист уверен, что мыслит объективно

  • Прагматичный - знает, что субъективно


  • Идеалистичный программист подгоняет свою задачу под паттерны проектирования

  • Прагматичный - подгоняет паттерны под задачу


  • Прагматичный программист не любит спорить

  • Идеалистичный - не любит соглашаться


  • Идеалистичный программист любит оценивать код по абстрактным критериям: ООП / не ООП, паттерны / не паттерны и выносить абстрактные вердикты: хорошо / плохо

  • Прагматичный - избегает «окончательных» выводов, но, если они необходимы, рассуждает в духе «подходит / не подходит»


  • Прагматичный программист чаще сомневается в себе

  • Идеалистичный - в окружающих


  • Прагматичный программист прогоняет через HTML-валидатор финальный код страницы

  • Идеалистичный - коды исходников


  • Идеалистичный программист выбирает себе любимую, единственно правильную платформу под что бы то ни было: Linux, Mac, Google и яростно осуждает всех использующих альтернативные решения

  • Прагматичный программист использует то, к чему привык


  • Прагматичный программист ставит новую версию приложения, когда (если) этому находятся причины

  • Для идеалистичного - поводом является сам факт появления новой версии


  • Зайдя на сайт, прагматичный программист в первую очередь оценивает дизайн

  • Идеалистичный - HTML-код


Попросив покритиковать код идеалистичного и прагматичного программиста мы услышим

от идеалистичного


  • здесь чего-то не хватает

  • а что будет, если на хостинге клиента заменят СуБД?

  • а что будет, если контент-менеджер напишет в шаблоне PHP-код, выводящий доступы к БД на экран?

  • как клиенту написать такой-то модуль к этому фреймворку, где документация?

  • если на портале будет 9850609835730432 документов, всё зависнет, ведь так?


от прагматичного:

  • здесь много лишнего

  • какая СуБД будет на машине клиента?

  • почему код такой грязный?

  • если клиенту понадобится дописать такой-то модуль, ты будешь этим заниматься?

  • сколько ожидается документов на портале?

Автор: Клешнин Иван

Имя:


Комментарий:


Антиспам: