html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Весёлые (сосисочные) рефакторинги



Привет, %habrausername%. Я хочу сыграть с тобой в игру.

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

От предыдущего разработчика осталась кучка кода и домашние тапочки. Ты осторожно кладёшь тапочки в мусорную корзину и начинаешь рефакторинг.

Этот код ужасен. Во-первых, нет никого, кто мог бы сказать, зачем этот код писался. Во-вторых, нет никакой документации. Нет даже комментариев, не говоря уже о юнит-тестах. В-третьих, код не структурирован, а имена классов и методов ни о чём не говорят. И, наконец, работать это должно начать не сегодня, и даже не вчера, а внезапно.
Ну как, %habrausername%, пробежал холодок по спине?

В такой ситуации каждый программист считает, что сейчас-то он сделает лучше, чем было. Но так ли это? Объективно ли код становится лучше после рефакторинга? Если да, то в чём критерий улучшения кода? А может быть рефакторинг служит удовлетворению амбиций разработчика?

Я предлагаю вашему вниманию TB MMOG под названием «Весёлые рефакторинги».

Суть в следующем. Имеется некий код, ведущий и N участников. Ведущий высылает на почту первому участнику исходный код. Участник проводит рефакторинг и отправляет результат обратно ведущему. Затем ведущий отправляет результат второму участнику и так далее, пока участники не закончатся. Передача кода происходит анонимно, то есть ни один из участников не знает, чей код он рефакторит.

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

Если вы хотите принять участие в Весёлых рефакторингах, отправьте заявку на почту recrowding@gmail.com. В заявке укажите свой емейл (будет использоваться исключительно для отправки вам исходного кода) и пару слов о себе (будут опубликованы в итоговом отчёте, сюда могут включать контакты, ссылка на сайт и тп).

Чтобы не настал хаос, вводится несколько правил:
  1. Не задерживайте у себя код слишком долго. Если от вас не будет ответа более двух суток, вы будете исключены из игры.
  2. Не стоит писать в коде какие-то личные данные, дабы не искушать следующего участника обратиться к вам за помощью. Емейлы, имена, явки и тп из исходного кода будут безбожно вырезаться.
  3. Нельзя менять язык программирования. В остальном участнику представляется полная свобода действий в рамках понятия «рефакторинг». Да, откровенный треш будет исключаться.
  4. Общее ревью будет опубликовано на Хабре, а работы всех участников конкурса будут выложены в общедоступный репозиторий вместе с парой слов себе, указанной в заявке.


Для этих Рефакторингов выбран язык Java (потому что рефакторить программу на Яве можно бесконечно). Заявки принимаются до 18 марта.

UPD Раз уж зашла речь, скажу, что исходная кучка кода собрана в одном файле и имеет длину не более 200 строк.

UPD2 Сказать, что мне пришло много заявок — это ничего не сказать. Ответить всем у меня чисто физически времени не хватит, да и не надо это, наверное. Главное, что все поступающие заявки записываются, а исходные коды уже пустились в плавание. Наберитесь терпения, всем, отправившим мне емейл, со временем придёт архив с кодом.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

0

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции