Lint Night #1 ã«ç»å£ããã
å½æ¥ã®ã¹ã©ã¤ãã¯ä»¥ä¸ã§ãã
ä»å㯠Kuniwak ããã®æ¹ã§ãããããLint ã¨ã¯ï¼ãã¨ãã£ãå段ã®è©±ããã¦ããã ããã¨ããã®ã¨ã"Lint" ãå ããã¤ãã³ããèãã¦ããããªãäºåã«æ±ããåæç¥èãããã¤ã端æã£ã¦è©±ãã¦è¯ãã ãã㨠RuboCop ã®å é¨æ§é ã«è¸ã¿è¾¼ãã 話ã«ãã¦ã¿ã¾ããã
ä»åå é¨ã®ããã¿ã«è¸ã¿è¾¼ããã¨æã£ãæã«æãåºããã®ããRuby ã®ããã¿ãã§ã表ç´ã¯ãã®ãããã£ã«ãªã£ã¦ãã¾ãã
ç§ã®çºè¡¨ã®æ§æ解æãã¼ãã§åºã¦ããæ¸ç±ã¯ãã¡ããYacc ã® Ruby çã§ãã Racc ã«ã¤ãã¦ã¯ãRuby 256 æ¬ ç¡éç·¨ããæ§æ解æã®ããã¿ããããã¨ä¸ç·ã«ç´¹ä»ããã¦ãã¦ãæä½ãèªã¿ããããè¦ãã§ãã
æ¬é¡ã®éç解æãã¼ãã§ãããRuboCop ã®å é¨ã表ç¾ããã®ã«ä¹ ãã¶ãã« UML ã®ã¯ã©ã¹å³ã使ããã¨æã£ãã®ã§ãããç¸äºä½ç¨ã表ç¾ããããªã£ã¦ã³ã©ãã¬ã¼ã·ã§ã³å³çãªãã®ãæ··ãã£ãæãã®ãã®ã«ãªããUnified ããã¦ããªã Modeling ã®ãã¤ã¢ã°ã©ã ã«ãªã£ãã®ããã¡ããå³å¯æ§ãããä¼ãããã¨ãéè¦ã¨ãããã¨ã§ãã¾ããããã¨ããããããã£ã RuboCop å é¨ã®ã¾ã¨ãããã¦ããå³ã¯ç¥ãéããªãã¨æãã®ã§ãããããããã®ããªã¨æãã¾ãã
æ¬ç·¨ã§ã¯ä¼ããã®ã§ãããæ§æã®è¨å®ãèªåä¿®æ£å¨ãã¯å²æãã¦ãã¾ããããã®ãããã®ã¯ã©ã¹ãä¸å¿ã«èªãã§ãããã¨æãã®ã§ãä»å¾ RuboCop ãã½ã¼ã¹ã³ã¼ããªã¼ãã£ã³ã°ãã¦ã¿ããã¨ãã®æããããªããã«ãæ´»ç¨ãã ããã
RuboCop ã®å é¨æ§é ãç¥ãã¨ãRuboCop ã¨ãããããã¯ãã®å é¨æ§é ãè¦å¯ã®ãä»äºãã¡ã¿ãã¡ã¼ã«ããã¢ããªã³ã°ããã¦ããã®ãããããRuboCop ã¨ããä½ååãæ ç»ã®ã¿ã¤ãã«ã®ããã«æ ãããããªã³ã¼ããªã¼ãã£ã³ã°ã®æ¯è²ããããã¦ä¼ããããã¨è¯ãããªã¨æã£ã¦è©±ããã¨ãããTwitter ã®åå¿ãè¦ãéãã ã¨è¯ãæãã«ä¼ãã£ãããã§ããã£ãã§ãã
æå¾ã«ä»é²çã«æ¸ãã¦ãã Ruby 㨠RuboCop ã®ãµãã¼ããããªãã¯ã¹ã¯å½åä»å¹´ã® RubyKaigi 2022 åãã«ä½ã£ã¦å ¥ãã¦ãããã®ã ã£ããã®ã®ãã¹ãã¼ãªã¼ã®æµãã§å¤ããã¹ã©ã¤ããä»åå°ãå¼·å¼ã§ã¯ãããã®ã®æµãã§ä¼ããããããªã®ã§è¶³ãè¾¼ãã§ããããã¤ãã§ã«è¨ãã¨ã表ç´ãããã£ã®å ãã¿ã§ãããRuby ã®ããã¿ãã®ãµãã¿ã¤ãã«ã¯ãAn Illustrated Guide to Ruby Internalsãã§ãå³ã使ã£ã説æãæèãã¦ããã¦ãããã¨ãããä»åã®ç§ã®çºè¡¨ã¯å³ãå¤ãã«ã¨æèãã¦ããã®ã§ããã®ãããªãã¯ã¹ãå ¥ãã¦ãã¾ããã¨ãã£ãé¨åãããã
æå¾ã®ã¹ã©ã¤ãã«ä½¿ã£ãã®å¼ç¨å æ¸ç±ã§ãããCode Readngãã¯ãç£ä¿®ã«ã¾ã¤ãã¨ãããå ¥ã£ã¦ããã®ã§ãRuby é¢ä¿ã®çºè¡¨ã®ç· ãã«ããªãããªã¨ããã®ããã£ã¦é¸ãã ãã®ãããã¹ãèªä½ã¯æ¸ç±å¸¯ã«ã使ããã¦ãã¦å°è±¡ã«æ®ã£ã¦ãããã®ã®å¼ç¨ã§ããã
ã¤ãã³ãå ¨ä½ã¨ãã¦ã¯ãããã Lint Night ã¨ãããã¼ãããã£ãããã¦ããã¤ãã³ãã ããã£ã¦ãçºè¡¨ãéãã¦ã Kniwak ãããazu ããã¨ã® 3 人ã®è©±ã§å¤§ããªç·©ãã¹ãã¼ãªã¼æ§ãåºã¦ãã¦é¢ç½ãã£ãã§ããä»åã¯ãªã³ã©ã¤ã³ç»å£ãé¸ãã§ããã®ã§ãazu ããã« JS å¨è¾ºã®æ å ±ããã¤ããããã¨ããããã¾ãã¨ç´æ¥ä¼ããããªãã£ãã®ãå¿æ®ãã§ãããããã¯ä»å¾ã®äººçã®ã¾ãã®æ©ä¼ã¨ãããã¨ã§ã
ãèªãããã ãã Kniwak ãããéå¶ããã ãã DeNA ã¹ã¿ããã®ã¿ãªãããããã¨ããããã¾ããï¼