Go Ahead: Next Generation Java Programming Style
http://codemonkeyism.com/generation-java-programming-style/
次ä¸ä»£Javaããã°ã©ãã³ã°ã¹ã¿ã¤ã«ã ã£ã¦ãã¡ãã£ã¨é¢ç½ãã£ããããããã¹ã¿ã¤ã«ã身ã«ä»ãããããã°ã©ãã®ã¹ãã¼ã¸ãã²ã¨ã¤ä¸ããããã ãã©ï¼ä¸éä¸è¬ã«æ®åãããã®ã¯é£ãããã ãããªã¨ãªã¢ã¿ã
1.Final is your new love.
ï¼å¤æ°ã®ï¼final宣è¨ã好ãã£ã¦è¯ãèãããæ°æã¡ãã¯ããããã©ï¼å¾¹åºããã®ã¯å¤§å¤ã
2.No setters.
ãã¥ã¼ãã¼ã¿(setter)ä½ããªãã§ã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ä½¿ãã¨ããªãã¸ã§ã¯ãã®æ®éæ§ä¸å¤æ§ã«ãã ããã¾ããªã
ã¢ã¯ã»ãµ(getter)ãä½ããªï¼ã£ã¦è¨ã£ã¦ããã©ï¼ã¡ãã£ã¨åãããªãã£ããâ Tell, Don't Ask | The Pragmatic Bookshelf
3.Do not use loops for list operations.
ã¯ãã¼ã¸ã£ç¡ãã®ã«forã«ã¼ãããããªãã¦ç¡è¶ãè¨ããgoogle-collections使ãã°å¤§ä¸å¤«ã ãã¨ã¯è¨ããï¼æ¥æ¬ããJakarta Commons以ä¸ã«æ®åãã¦ãªãã¨æããã©...ã
ãªã«ããJava6ãªä¸ã®ä¸ã«ãªã£ã¦ãï¼Vector/Hashtable/Enumerationã¯æ ¹å¼·ã使ããã¦ããäºæãããã:-)
4.Use one liners.
ã¯ã³ã©ã¤ãã¼ãç©æ¥µçã«ä½¿ãããããè³æï¼è³æãä¸é
æ¼ç®åã ã£ã¦ãã£ã¨ç©æ¥µçã«ä½¿ãããããããæ¼ç®åã¯...ã¡ãã£ã¨èªéããããã:-)
IDEãã¡ããã¨è¨å®ãã¦ãªãã¨ï¼ã¯ã³ã©ã¤ãã¼ã®æå³ãç¡è¦ãã¦ãã©ã¼ããããã¡ããã®ã§æ°ãã¤ããªãã¨ã
5.Use many, many objects with many interfaces.
ç²åº¦ã®ç´°ãããªãã¸ã§ã¯ãããã£ã±ãä½ããã£ã¦ï¼ããã¾ãè³åããããªããªã¼ãä»ã ã¨åæåãããããï¼ä¸æãäºããã°ãã¬ã¤ã«ã§ããã®ãããããï¼Java5以éã®çµé¨å¤ãä½ãããã§...ï¼ã"Never, never, never use String in Java"ã§ãStringã¯æªãã¤ãã®ãåãããã§ãç¡ããï¼ããéã注æããªã
6.Use Erlang-Style Concurrency.
ããããErlangç¥ãããScalaã§è¨ãã¨ããã®Actorã£ã¦ã¨ãã¾ã§åãããï¼Scalaã®Actorãããç¥ããªãã:-P
ã§ãActorãã¼ã¹ã®ä¸¦åããã°ã©ãã³ã°ãæµè¡ããªã®ã¯åãããã£ã¦ï¼ãªãã®ç解ã«ããªã£ã¦ãªããªããã¯ã¯ã¼ã
7.Use Fluent Interfaces.
æµãããããªã¤ã³ã¿ã¼ãã§ã¤ã¹ã使ãã¨ï¼ããã§ãgoogle-collectionsãããããFluent Interfacesã®ä¸çªã®æµã¯IDEã®ãªã¼ããã©ã¼ããã¿ãªã®ã ãã
8.Data Transfer Objects without setters and getters.
ãªã«ãã®Seasar2ã
ã©ããå¾æ¥ã®Javaã£ã½ãã¹ã¿ã¤ã«ããï¼ã¡ãã£ã¨ã²ãã£ããã®ã°ãããã¾ããªãã ï¼ããã¾ã§è¨ããªããã£ãScala使ã£ããã©ãã ï¼ã¦æãããã:-)