Необходимость хотя бы одного современного проекта - PullRequest
3 голосов
/ 21 января 2010

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

Все, что поддержит меня в обсуждении.

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

Ответы [ 4 ]

2 голосов
/ 21 января 2010

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

  1. Начать рефакторинг. Подход «зеленого поля» редко бывает привлекательным для тех, кто подписывает чеки, за исключением случаев, когда это делается организацией. Как разработчик / архитектор, может быть очень сложно работать в «устаревшей» кодовой базе. Определите спорные моменты и какой лучший способ будет решить проблему. Напишите модульные тесты, чтобы убедиться, что любые изменения не нарушены. Это может быть хорошей идеей использовать что-то вроде прокси-шаблона, чтобы изолировать новый код от старого кода. Делегирование через такой класс позволит вам структурировать новый код так, как вы считаете нужным. Воспользуйтесь возможностью создать новую сборку, которая содержит функциональные возможности архитектуры приложения. Если вы все спланируете правильно, вы можете начать использовать эту архитектуру приложения для рефакторинга других частей кодовой базы довольно неинвазивным способом.
  2. Запрос обратной связи. Если вам не нравится код, скорее всего, у остальной команды будут свои проблемы. Узнайте, какие части кода они абсолютно боятся и почему. Скорее всего, разные люди будут не любить разные области и дают понимание, которое никто не собирается предоставлять. Создайте четкий план действий и выясните, как это можно было бы сделать лучше. Это даст вам представление о том, какое направление выбрать.
  3. Кодовые отзывы. Если вы не делаете их, вам нужно начать. Исправьте ошибки в коде, чтобы команда не добавляла постоянную боль в сердце. Это также дает хорошую возможность сказать: «Мы сделали что-то, чтобы сделать это проще. Посмотрите, как вы могли бы сделать это с новой архитектурой приложения ...»
  4. Воспитывать. Независимо от того, насколько современным, чистым и нетронутым может быть что-то, в установленные сроки люди вернутся к тому, что можно сделать быстрее всего. Обязательно предоставьте возможность для рефакторинга и сообщите о лучших способах достижения цели.
  5. Принять лучшие инструменты. Такие вещи, как ReSharper, бесценны и, как правило, можно отнести к силам, которые связаны с повышением производительности. Не для того, чтобы спуститься в крысиную нору ReSharper, но посмотрите на плагин для StyleCop и те, которые называются Agent Johnson и Agent Smith. Обратитесь к сетям и найдите хорошие отправные точки для вещей, которые вы пытаетесь достичь. Codeplex - это сокровищница проектов, облегчающих жизнь любого архитектора.
  6. Не сдавайся. Это действительно легко разочароваться. Придерживайся своего оружия, но не будь тираном во всем.

Я следовал очень похожему подходу к этому, и он работает. В конце концов вы создаете прочную основу для построения, и новые проекты начинаются с ее создания. Он становится второй натурой, и разработчикам понравится рефакторинг кода, чтобы сделать его более лаконичным, стабильным и «передовым».

2 голосов
/ 21 января 2010

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

Я не понимаю, почему вы чувствуете, что вам нужен «современный» проект. Я не уверен, что даже понимаю, что это значит. Что если ни одна из самых современных технологий или методологий не соответствует потребностям вашего бизнеса?

Мой совет:

  1. Найдите проблему для решения. Если ваша работа не состоит в том, чтобы придумывать новые вещи, а затем создавать в них потребность - тогда, поздравляю с вашей классной работой, и я замолчу.
  2. Решите это хорошо - используйте методы и технологии, которые решают проблему самым простым, эффективным, экономичным, своевременным и обслуживаемым способом.
  3. Прибыль. Ваш начальник должен понимать больше, чем все, что ВЫ понимаете в его бизнесе, и заботиться о его успехе, а не только о каких-то благородных идеалах по улучшению разработки программного обеспечения для человечества.
2 голосов
/ 21 января 2010

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

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

Я предлагаю вам прочитать советы Джоэла в статье "Как добиться цели, когда вы только хрюканье"

2 голосов
/ 21 января 2010

Если ваш работодатель испытывает серьезные проблемы с разработкой программного обеспечения, новый «современный» проект - это последнее, что вам нужно. Ознакомьтесь с хорошими практиками разработки программного обеспечения и примените их сначала в небольшом проекте. Прагматичные программисты - хорошее место для чтения материалов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...