Ruby Style Guide

  1. На първата лекция се каза, че за добър стил се считат 2 спейса, а не таб с големина 2 спейса. Т.е. не е достатъчно в Sublime Text да си нагласиш 1 таб е 2 спейса, ами просто забравяш за клавиша таб (в контекста на форматиране на код)?

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

    Та, за да правите това, ви трябват две настройки:

    • Идентиране с ширина 2 символа ("tab width"/"tab size"/...)
    • Преобразуване на табове в интервали ("expand tabs"/"indent with spaces"/...)

    Във всеки един нормален редактор, в това число и Sublime Text, ги има тези две настройки. Правите ги и си ползвате клавиша Tab нормално, за останалото се грижи редакторът.

  3. Митко, спомена по време на лекция, че FMI репото на style guide-а има леки разлики с оригиналното на Божидар и че би било добре да го обновим. Няколко въпроса - може ли да кажеш какво точно имаш предвид, че трябва да се добави? Спомена, че имате леки разминавания във вижданията за стил - как да разберем кои са тези разминавания, за да ги приложим при обновяването? От гледна точка на update-ването - не може ли просто да се fetch-нат новите commit-и след последния commit на fmi и после при merge-а да се гледа разлика по разлика и да се преценява, кое да се приеме и кое не? Накрая: как се форква форкнато репо?

  4. Отзад напред, форкнато репо се форква по същия начин както и "обикновено" такова – с бутона "Fork" горе вдясно.

    Може да се направи един голям merge с всички нови неща, да и после в pull request-а да се обсъди кое да мине и кое не и ако/където има нужда, да се коригира.

  5. Предложение - дайте възможност да се пускат issues на вашето fork-нато репо на Style Guide-а. За улеснение - тук пише как се прави.

    Конкретен въпрос, който не видях да го пише в гайда - как е по-добре:

    case
      when x < 0 then puts 'Negative'
      when x.zero? then puts 'Zero'
      when x > 0 then puts 'Positive'
      else puts 'Never reached'
    end
    

    или

    case
      when x < 0   then puts 'Negative'
      when x.zero? then puts 'Zero'
      when x > 0   then puts 'Positive'
      else              puts 'Never reached'
    end
    

    ?

  6. @Александър, благодаря! Не бях забелязал, че issues са изключени. Сега са налични отново.

    За конкретния ти въпрос, нещата са малко на кантар. Аз често ги подреждам по втория начин, ако условията са кратички. Ако започнат да стават по-дълги, махам then и свалям тялото на when-а на нов ред.

Трябва да сте влезли в системата, за да може да отговаряте на теми.