ããã«ã¡ã¯ãã¯ãã¯ãããç·¨é室ã®å¤ªç°(@os0x)ã§ãã æ®æ®µã¯æçåç»ãã¯ãã¯ããããã¥ã¼ã¹ãªã©ãã¡ãã£ã¢å¯ãã®ãµã¼ãã¹ãæ å½ããªããã社å ã®CoffeeScriptãä¸å¿ã¨ããã¦ã§ãããã³ãã¨ã³ãã®ã³ã¼ãã¬ãã¥ã¼ãªã©ãè¡ã£ã¦ãã¾ãã ä»åã¯ããã®CoffeeScriptã®ã¬ãã¥ã¼ãåæ»ã«è¡ãããã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã«ã¤ãã¦ã話ãããã¨æãã¾ãã
Style guides in Cookpad
ã¯ãã¯ãããã§ã¯ãgithub.comä¸ã§ã¹ã¿ã¤ã«ã¬ã¤ããå ¬éãã¦ããã®ããåç¥ã§ããããï¼ cookpad/styleguide
ããã¾ã§ãRuby / Objective-C / Java ã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ãå ¬éããã¦ãã¾ãããããã¦ãæ¬æ¥ CoffeeScript ã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã追å ãã¾ããã
ãã¦ãããããã¹ã¿ã¤ã«ã¬ã¤ãã¨ã¯ãªãã§ããããï¼ã³ã¼ãã£ã³ã°è¦ç´ã¨ãè¨ãããããã¾ãããã¹ã¿ã¤ã«ã¬ã¤ãã¨ã³ã¼ãã£ã³ã°è¦ç´ã¯ã©ãéãã®ã§ããããï¼
ã³ã¼ãã£ã³ã°è¦ç´(ã«ã¼ã«)ã¨ã¯
ã³ã¼ãã£ã³ã°è¦ç´ã¯ãããæ¸ããªããã°ãããªãã¨ããã«ã¼ã«ãå®ãããã®ã§ããããã¯ã«ã¼ã«ãªã®ã§ãå¿ ãå¾ããªããã°ããã¾ããã ä¾ãã°Javaã®ã³ã¼ãã£ã³ã°è¦ç´ã¯IDEã®æ§æãã§ãã¯ãã¼ã«*1ã¨ã»ããã«ãªã£ã¦ãã¦ããã®è¦ç´ã«å¾ããªããã°ããããããã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦ãããã¨ãã£ãå ·åã§ãã Javaãããªéçåä»ãè¨èªã§ã¯ãè¨èªã®ç¹æ§ã«å ãã¦IDEã®å¼·åãªãµãã¼ããããã®ã§ãã«ã¼ã«ããããã¨ã§ã³ã¼ããæ¸ãããããªãä¸ã«ãã¬ãã¥ã¼æãç´°ããã¹ãã¼ã¹ã«ã¤ãã¦ææãåããããªæéãç¯ç´ãããã¨ãã§ãã¾ãã
ã¹ã¿ã¤ã«ã¬ã¤ãã¨ã¯
ã¹ã¿ã¤ã«ã¬ã¤ãã¯ãã¬ã¤ãã¨ããååã®éããã«ã¼ã«ã»ã©å¼·å¶åãå¼·ããªãã¨ãããã³ã¼ãã£ã³ã°è¦ç´ã¨ã®å¤§ããªéãã¨ãããã§ãããã ããæ¸ããã»ããèªã¿ãããã¨ããé¨åãå®ãããã®ãªã®ã§ãã¬ã¤ãã«å¾ã£ã¦ãèªã¿ããããªããªãå ´åãªã©ã¯ã¬ã¤ãã«å¾ããªãã¨ãããã¨ãããã¾ãã
RubyãJavaScriptãCoffeeScriptã®ãããªåçåä»ãã§ã¤ã³ã¿ããªã¿ã§å®è¡ãããè¨èªã®å ´åããã®åçãæ ã«IDEã«ãããµãã¼ãã¯ååã§ã¯ããã¾ããã ãããã£ãç°å¢ã§å³å¯ãªã«ã¼ã«ã決ãã¦å¼·å¶ããå ´åãã³ã¼ããæ¸ããã¨ã窮å±ã«ãªããæ¥½ãããªããªã£ã¦ãã¾ãã¾ãã RubyãCoffeeScriptã®ãããªè¨èªã¯æ¸ãã¦ãã¦æ¥½ããã¨ããã®ãæå¤§ã®é·æã¨è¨ã£ã¦ãéè¨ã§ã¯ãªãã¨æã*2ã®ã§ãããããã«å³å¯ãªã«ã¼ã«ãé©ç¨ãã¦ãã¾ãã¨ããã®é·æãæ½°ãã¦ãã¾ãããã¾ããã ã ãããããã¹ã¿ã¤ã«ã¬ã¤ãã¨ããå½¢ããããã®è¨èªã«ã¯æé©ãªã®ã§ãã
ã³ã¼ãã¬ãã¥ã¼ã¨ã¬ã¤ã
ããããããªãã³ã¼ãã£ã³ã°è¦ç´ã»ã¹ã¿ã¤ã«ã¬ã¤ããå¿ è¦ãªãã§ããããã ã¬ã¤ãããããã¨ã§ã
- ã¹ãã¼ã¹ã®åãæ¹ãªã©ãçµ±ä¸ããã¦ã³ã¼ãããã¬ã¤ã«ãªã
- è°è«ã«ãªããããªé¨åãå®ãã¦ãããã¨ã§ãè°è«ã®æéãç¯ç´ã§ãã(æååãªãã©ã«ã«ã·ã³ã°ã«ã¯ã©ã¼ãã¨ããã«ã¯ã©ã¼ãã®ã©ã¡ãã使ããã¨ã)
- æ¸ãããããããèªã¿ããããåªå ããã³ã¼ãã«ã§ãã
ã¨ãã£ãã¡ãªãããããã¾ãããããã®ã¡ãªããã¯ã³ã¼ãã®ã¡ã³ããã³ã¹æ§ãä¸ããåæã«ã¬ãã¥ã¼ã®å¹çãããããã¨ã«è²¢ç®ãã¾ãã
ãæ¸ããããããããèªã¿ãããã
ãã¦ãã¹ã¿ã¤ã«ã¬ã¤ãã®ã¡ãªããã¨ãã¦ãæ¸ãããããããèªã¿ããããåªå ããã³ã¼ãã«ã§ãããã¨ããé ç®ãæãã¾ããããããã«ã¤ãã¦å°ãæãä¸ãããã¨æãã¾ãã
ã³ã¼ãã®æ¸ãæ¹ã¨ããã®ã¯äººããããã§ããããã®æ¸ãæ¹ã¯ãæèãã¦æ¸ãæ¹ãå¤ãã¦ãããããªãéãã¯ãèªåãæ¸ããããæ¸ãæ¹ã§æ¸ãã¦ããã¯ãã§ãã èªåãæ¸ããããæ¸ãæ¹ãä»ã®äººããããã¯3æ¥å¾ã®èªåã«åã£ã¦èªã¿ãããæ¸ãæ¹ã¨ã¯éãã¾ããã ã³ã¼ããæ¸ãã®ã¯ä¸ç¬(宿ãããã¯å¥ã®è©±)ã§ãããä¸åº¦æ¸ãããã³ã¼ãã¯ãã®ç¬éããèªåèªèº«ãç¹°ãè¿ãèªãã¯ãã§ããä¾ãã°ã1è¡è¿½å ããã ãã®ä¿®æ£ã§ããåå¾ã®è¡ã¯ãã£ããè¦ã¦ãã追å ãã¾ãããããããã£ããã¨ãç¹°ãè¿ãè¡ãªã£ã¦ããã¯ãã§ãã ããã«ã¬ãã¥ã¼ãªã©ã§ä»äººãèªãã®ã§ããã°ãã³ã¼ãã¯æ¸ããã¦ããæéããèªã¾ãã¦ããæéã®ã»ããå§åçã«é·ããªãã¾ãã
ã ãããããã¯ãã¯ãããã®ã¹ã¿ã¤ã«ã¬ã¤ãã¯ãæ¸ãããããããèªã¿ããããåªå ãã¦ãã¾ãã ä¾ãã°ãCoffeeScriptã®ã¬ã¤ãã§ã¯ãã[MUST] ã¡ã½ããã®å¼ã³åºãã®æ¬å¼§ã¯åºæ¬çã«çç¥ããªããã¨ããé ç®ãããã¾ãã æ¸ããããã ããèããããæ¬å¼§ã¯çç¥ããã»ããæ¸ãããããã¨ã¯ã¾ãééããªãã§ããããããããèªã¿ãããã«ã¤ãã¦èãã¦ã¿ãã¨ãæ¬å¼§ããã£ããæ¸ãã¦ãã£ãã»ããèªã¿ééãããã«ãããã¬ãã¥ã¼ãªã©ãããããã¨èãã¦ããã®ã§ãæ¬å¼§ãçç¥ããªãã¨ããã¬ã¤ããä½ãã¾ããã
æå¾ã«
ã¹ã¿ã¤ã«ã¬ã¤ããå®ãã¦ããã¨ãã¬ãã¥ã¼ãåæ»ã«ãããã¨ãã§ããã®ã§ãããæ¬è³ªçãªé¨åã«éä¸ãããããªãã¾ããä»åå ¬éããCoffeeScript以å¤ã«ããRuby / Objective-C / Javaã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ãå ¬éãã¦ãã¾ãã®ã§ããã®æ©ä¼ã«ç®ãéãã¦é ããã°å¹¸ãã§ãã
ã¯ãã¯ãããã§ã¯ä¸ç·ã«ã¬ãã¥ã¼ããã仲éãåéãã¦ãã¾ããæ¯éãå¿åãã ããã
ã½ããã¦ã§ã¢ã¨ã³ã¸ã㢠| ã¯ãã¯ãããæ ªå¼ä¼ç¤¾ æ¡ç¨æ å ±