Какое сообщество (язык/фреймворк) больше всего поддерживает гибкие практики?[закрыто]

StackOverflow https://stackoverflow.com/questions/940873

  •  06-09-2019
  •  | 
  •  

Вопрос

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

Мой вопрос к сообществу SO:Какие сообщества (язык и/или фреймворки), по вашему мнению, больше всего поддерживают гибкие практики, такие как tdd (на самом деле все xDD), xp, ci и т. д.?

Чтобы задать этот вопрос, необходимо определить средства измерения.Я бы определил это для данного сообщества/стека как:

(количество текущих проектов, использующих гибкие методологии) / (количество текущих проектов)

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

Это было полезно?

Решение

Я принадлежу как к Rails, так и к лагерям Django.Судя по тому, что я вижу, ребята из Rails действительно занимаются тестированием.Они говорят о тестировании в блогах, говорят о тестировании на конференциях и создают некоторые интересные инструменты тестирования (например, ScrewUnit) для тестирования не-Rails-частей своих приложений.Очень сложно быть частью сообщества Rails и не тестировать.

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

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

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

Другие советы

Если говорить о сообществе, то речь идет о людях, а что еще такое сообщество на самом деле, вот несколько групп:

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

Альт.Нет Мне кажется, это группа, в которую можно применить различные Agile-практики и получить разные результаты: кому-то они могут понравиться, а у кого-то могут возникнуть проблемы с ними.

Однако Agile обычно больше касается процессов, а не конкретных технологий.Если ваш вопрос больше о том, какие технологии и фреймворки используют компании, использующие Agile, то это совсем другой шарик воска, ценность которого, на мой взгляд, сомнительна.Компании рядом со мной, в Калгари, Альберта, которые используют Agile, могут сильно отличаться от других, например.какие компании в Бангалоре, Индия или Лондоне, Великобритания?или Силиконовая долина, или Нью-Йорк, Нью-Йорк или Сиэтл, Вашингтон, чтобы указать несколько мест, где работают некоторые разработчики, обычно если вы не имеете в виду такие компании, как Мыслительные работы что делать с Agile, если вы находитесь рядом с крупным городом, где у них есть офис.

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

Надеюсь, кому-то эта свалка мозгов показалась интересной...;)

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

Например, скелет проекта канонических рельсов имеет очень низкий барьер для написания тестов или использования TDD, но ничто не мешает вам взять NUnit и написать проект TDD .NET.

Вот некоторые инструменты .NET, которые могут вас заинтересовать:

Модульное тестирование:

Непрерывная интеграция:

Из моего несколько ограниченного опыта я обнаружил, что сообщество Ruby/rail продвигает передовые технологии тестирования.Внедрение новых технологий и вообще интеграция концепции TDD и BDD в большинство вещей.PHP, с другой стороны, несколько бессистемен.Некоторые группы используют его религиозно, а другие, похоже, вообще не используют.Набор инструментов PHP не кажется таким надежным и глубоким, как в сообществах Ruby и Rails.

ЮММВ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top