
Habréã®æåã®æçš¿ãžã®ã³ã¡ã³ãã§ããŠãŒã¶ãŒã¯æ å ±èªèã®ãã£ãã«ãç©æ¥µçã«è°è«ããŸããã åªããã³ãŒãã®åºæ¬ååã¯ãã©ã®èšèªã§æžãããã°ã©ããŒã§ãåãã§ããããããå®ç§ãªã³ãŒããã®ãããã¯ãäœæããŠèšè¿°ãã¹ãã ãšèãã決å®ããŸããã
ãã¹ãŠããã®ããã«æ©èœããã®ã«ããªãè¯ãã³ãŒããå¿ èŠãªã®ã§ããïŒ
ããã°ã©ã ã¯ãã·ã³ã«ãã£ãŠå®è¡ããããšããäºå®ã«ãããããããããã°ã©ã ã³ãŒãã¯äººã«ãã£ãŠããããŠäººã®ããã«æžãããŠããŸã-é«ã¬ãã«ã®ããã°ã©ãã³ã°èšèªã人éã«åªããæ§æãšã³ãã³ããæã£ãŠããããšã¯å¶ç¶ã§ã¯ãããŸããã çŸä»£ã®ãœãããŠã§ã¢ãããžã§ã¯ãã¯ãããã°ã©ããŒã®ã°ã«ãŒãã«ãã£ãŠéçºããããªãã£ã¹ã¹ããŒã¹ã ãã§ãªãã倧éžãæµ·æŽã«ãã£ãŠåããããããšããããŸãã 幞ããªããšã«ãæè¡éçºã®ã¬ãã«ã«ãããéçšäž»ã®æåšå°ã«é¢ä¿ãªããæé«ã®éçºè ã®ã¹ãã«ã䜿çšããããšãã§ããŸãã ãã®éçºã¢ãããŒãã§ã¯ãã³ãŒãã®å質ãç¹ã«èªã¿ããããšç解ããããã«ã€ããŠãæ·±å»ãªèŠä»¶ã課ãããŸãã
ã³ãŒãå質åºæºã«ã¯å€ãã®æåãªã¢ãããŒãããããé ããæ©ããã»ãšãã©ãã¹ãŠã®éçºè ãç¥ãã§ãããã ããšãã°ãKISSã®èšèšååïŒKeep It SimpleãStupidïŒ-Make it easyãdumbassïŒïŒã«åŸãããã°ã©ããŒãããŸãã ãã®éçºæ¹æ³ã¯éåžžã«å ¬å¹³ã§å°æ¬ã«å€ããåªããã³ãŒãã®æ®éçãªã«ãŒã«ã§ããã·ã³ãã«ããšæå¿«ããåæ ããŠããŸãã ãã ããåçŽãã«ã¯å¢çãå¿ èŠã§ããããã°ã©ã ã®é åºãšã³ãŒãã®å¯èªæ§ã¯ãåçŽåã®çµæã§ãã£ãŠã¯ãªããŸããã åçŽãã«å ããŠãããã€ãã®åçŽãªã«ãŒã«ããããŸãã ãããŠã圌ãã¯å€ãã®åé¡ã解決ããŸãã
- ãã¹ããšãããã°ã§ç°¡åãªã³ãŒãã«ãã¬ããžãæäŸããŸãã ãŠããããã¹ãã¯ãã¢ãžã¥ãŒã«ãã€ãŸãããã°ã©ã ã®äžéšã§ããé¢æ°ãšã¯ã©ã¹ããã¹ãããããã»ã¹ã§ãã ããã°ã©ã ãäœæãããšããéçºè
ã¯ã³ãŒãã®äœæäœæ¥ã®æåãããã¹ãã®å¯èœæ§ãèæ
®ããå¿
èŠããããŸãã
- ã³ãŒãã®èªèãšããã°ã©ã ã®äœ¿çšãä¿é²ããŸãã ããã¯ãè«ççãªåœåãšåªããã€ã³ã¿ãŒãã§ã€ã¹ãšå®è£
ã¹ã¿ã€ã«ã«ãã£ãŠä¿é²ãããŸãã
- ã¡ã³ããã³ã¹ã容æã«ããŸãã èãæããå®è£
ãããããã°ã©ã ã®æ§é ã«ãããæ°ããããŒããŠã§ã¢ãŸãã¯æ°ãããã©ãããã©ãŒã äžã®ããã°ã©ã ã«é¢é£ããåé¡ã解決ã§ããŸãã
- ããã«å€æŽãå ããããã»ã¹ãç°¡çŽ åããŸãã æ§é ãæé©åãããã»ã©ãã³ãŒãã®å€æŽãæ°ããããããã£ã®è¿œå ãããã©ãŒãã³ã¹ã®åäžãã¢ãŒããã¯ãã£ã®å€æŽã容æã«ãªããŸãã
- ããã°ã©ã ã®æç¶å¯èœæ§ã確ä¿ããŸãã å€æŽããããåé¡ãçºçããå Žåã¯ãç°¡åã«ä¿®æ£ã§ããŸãã æ£ãããšã©ãŒåŠçã«ããããœãããŠã§ã¢è£œåã®æäœã倧å¹
ã«ä¿é²ãããŸãã
- è€æ°ã®éçºè ãŸãã¯ã³ãã¥ããã£å šäœã§ãããžã§ã¯ãããµããŒãããæ©èœãæäŸããŸãïŒç¹ã«ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«ãšã£ãŠéèŠïŒã
ãšã³ã¿ãŒãã€ã³ã¡ã³ãã®äœæãäŒæ¥ãœãããŠã§ã¢ã®äœæãããã°ã©ãã³ã°ã¹ãã«ã®éçºãç£æ¥çšãœãããŠã§ã¢ã®äœæãªã©ãæ確ãªç®æšãæã€éçºè ã®ã¢ã€ãã¢ãã³ãŒãã§å®çŸããŸãã倧èŠæš¡ãããžã§ã¯ããå±ããŸãã
GeekBrainsã«ãã8ã€ã®åªããã³ãŒãã®ã«ãŒã«
åäžã®ã³ãŒãã¹ã¿ã€ã«ã«åŸããŸãã ããã°ã©ããŒãçµç¹ãç¹ã«å€§èŠæš¡ãªçµç¹ã§åãããã«ãªããšãã»ãšãã©ã®å Žåãç¹å®ã®ãããžã§ã¯ãã§ã³ãŒããèšèšããããã®èŠåã玹ä»ãããŸãïŒã³ãŒãã¹ã¿ã€ã«ã«é¢ããåæïŒã ããã¯éçšäž»ã®å¶ç¶ã®æ°ãŸããã§ã¯ãªããæ·±å»ãªã¢ãããŒãã®èšŒæ ã§ãã
以äžã«äžè¬çãªã«ãŒã«ã瀺ããŸãã
äžæ¬åŒ§ãšã€ã³ãã³ãã芳å¯ãã-ããã«ãããã³ãŒãã®åã ã®ãããã¯ã®èªèãå€§å¹ ã«åäžããŸã
åçŽã«ãŒã«ã«åŸã-1ã€ã®ãªã¯ãšã¹ããŸãã¯æ¡ä»¶ã®äžéšãã€ã³ãã³ãããå¿ èŠããããŸã
if (typeof a ! == "undefined" && typeof b ! == "undefined" && typeof c === "string") { //your stuff }
æŸé»ã芳å¯ãã-ã³ãŒãã®å¯èªæ§ãåäžãããå Žæã«ã¹ããŒã¹ãå ¥ããŸãã ããã¯ãè€åæ¡ä»¶ãããšãã°ãµã€ã¯ã«æ¡ä»¶ã§ç¹ã«éèŠã§ãã
for (var i = 0; i < 100; i++) { }
äžéšã®éçºç°å¢ã§ã¯ãå¥ã®ãã¡ã€ã«ïŒVisual Studioã§å©çšå¯èœïŒã«èšå®ãèªã¿èŸŒãããšã§ãæåã«ã³ãŒãã®ãã©ãŒãããèŠåãèšå®ã§ããŸãã ãããã£ãŠããããžã§ã¯ãã®ãã¹ãŠã®ããã°ã©ãã¯èªåçã«åãã¿ã€ãã®ã³ãŒããååŸããããã«ããç¥èŠãå€§å¹ ã«åäžããŸãã é·å¹Žã®ç·Žç¿ã®åŸãåèšç·ŽããŠæ°ããã«ãŒã«ã«æ £ããããšã¯ããªãé£ããããšãç¥ãããŠããŸãã ãã ããã©ã®äŒç€Ÿã§ããã³ãŒãã¹ã¿ã€ã«ã¯å³å¯ã«å®ããªããã°ãªããªãæ³åŸã§ãã
ããžãã¯ãã³ããŒã䜿çšããªãã§ãã ããã ããžãã¯ãã³ããŒãã¢ã³ãããã°ã©ãã³ã°ãã¿ãŒã³ãã€ãŸãããã°ã©ã ã³ãŒããèšè¿°ããªãæ¹æ³ã®ã«ãŒã«ãšããŠåé¡ãããããšã¯å¶ç¶ã§ã¯ãããŸããã ã»ãšãã©ã®å Žåãã¢ã³ããã¿ãŒã³ãšããŠã®ããžãã¯ãã³ããŒã¯ãã³ãŒãã§äœ¿çšãããå®æ°ã§ããããã®æå³ã¯ã³ã¡ã³ããªãã§ã¯äžæã§ãã ãã®ãããªæ°å€ã¯ãã³ãŒãã®ç解ãè€éã«ããå¯èªæ§ãæãªãã ãã§ãªãããªãã¡ã¯ã¿ãªã³ã°äžã«åé¡ããããããŸãã
ããšãã°ãã³ãŒãã«ã¯æ¬¡ã®è¡ããããŸãã
DrawWindow( 50, 70, 1000, 500 );
æããã«ãã³ãŒãã«ãšã©ãŒãåŒãèµ·ããããšã¯ãããŸãããããã®æå³ã¯èª°ã«ãæããã§ã¯ãããŸããã æ ãããããããã«ãã®ããã«æžãã®ãã¯ããã«è¯ãã§ãïŒ
int left = 50; int top = 70; int width = 1000; int height = 500; DrawWindow( left, top, width, height );
äžè¬ã«åãå ¥ããããŠããå®æ°ã䜿çšãããšããããšãã°ãæ°å€Ïãæžã蟌ããšãã«ãããžãã¯ãã³ããŒãçºçããããšããããŸãã ãããžã§ã¯ããäœæããããšããŸãïŒ
SquareCircle = 3.14*rad*rad
äœããããªã«æªãã®ïŒ ããããæªãããšããããŸãã ããšãã°ãäœæ¥äžã«é«ç²ŸåºŠã®èšç®ãè¡ãå¿ èŠãããå Žåãã³ãŒãå ã®ãã¹ãŠã®å®æ°ã®åºçŸãæ¢ãå¿ èŠããããããã¯åŽåã®ç¡é§ã§ãã ãããã£ãŠã次ã®ããã«èšè¿°ããæ¹ãé©åã§ãã
const float pi = 3.14; SquareCircle = pi*rad*rad
ã¡ãªã¿ã«ã仲éã®ããã°ã©ããŒã¯ã䜿çšããå®æ°ã®å€ãèŠããŠããªãå ŽåããããŸãããã®å Žåã圌ãã¯ã³ãŒãã§ãããèªèããŸããã ãããã£ãŠãå€æ°ã§å®£èšããã«æ°å€ãèšè¿°ããããšã¯é¿ããæ¹ããããå®æ°å€ã§ãã宣èšããæ¹ãé©åã§ãã ãšããã§ããããã®å®æ°ã¯ã»ãšãã©ã®å Žåçµã¿èŸŒã¿ã©ã€ãã©ãªã«ãããããåé¡ã¯èªåçã«è§£æ±ºãããŸãã


ããšãã°ã次ã®ãããªã³ãŒãã䜿çšããŸãã
// , r if ( x != null ) { while ( xa != null ) { x = xa; r = xn; } } else { r = ââ; }
解説ãããã³ãŒããæ£ç¢ºã«äœãããããæ確ã«ãªãã¯ãã§ãã ããããxaãšxnãäœãæå³ããã®ãã¯å®å šã«ã¯äžæã§ãããã®æ¹æ³ã§å€æŽãå ããŠã¿ãŸãããã
// , leafName if ( node != null ) { while ( node.next != null ) { node = node.next; leafName = node.name; } } else { leafName = ââ; }
ãã®æ®µèœã§ã¯ãã³ã¡ã³ãã«ã€ããŠåå¥ã«èšåããå¿ èŠããããŸãããªã¹ããŒã¯åžžã«ããã®äœ¿çšã®é©åæ§ãšå¿ èŠæ§ââã«ã€ããŠå€ãã®è³ªåãããããã§ãã ã³ã¡ã³ããå€ããšãã³ãŒãã®å¯èªæ§ãäœäžããŸãã ã³ã¡ã³ãã®å¿ èŠæ§ããªããªãããã«ãã³ãŒãã«ãã®ãããªå€æŽãå ããæ©äŒã¯ã»ãšãã©åžžã«ãããŸãã 倧èŠæš¡ãªãããžã§ã¯ãã§ã¯ãAPIã䜿çšããå ŽåããµãŒãããŒãã£ã¢ãžã¥ãŒã«ã®ã³ãŒãã®æ¥ç¶ãæå®ããå Žåãè«äºã®çãšãªããã€ã³ããŸãã¯è¿œå ã®åŠçãå¿ èŠãªãã€ã³ããæå®ããå Žåãã³ã¡ã³ããæ£åœåãããŸãã

ããã«2ã€ã®éèŠãªã«ãŒã«ã1ã€ã®èª¬æã«ãŸãšããŸãã æå³ã®ããååãæã€æ°ããæœè±¡åã¬ãã«ãšããŠã¡ãœãããäœæãã ã¡ãœãããã³ã³ãã¯ãã«ããŸãã äžè¬ã«ãä»æ¥ããã¹ãŠã®ããã°ã©ããŒã¯ã³ãŒãã®ã¢ãžã¥ãŒã«æ§ãå©çšã§ããŸããã€ãŸããå¯èœãªå Žåã¯æœè±¡åãäœæããããåªåããå¿ èŠããããŸãã æœè±¡åã¯ãæ©èœã®å®è£ ã®è©³çŽ°ãé ã1ã€ã®æ¹æ³ã§ãã ããã°ã©ããŒã¯ãåå¥ã®å°ããªã¡ãœãããäœæããããšã«ãããåé¢æ°ã®å®è£ ãå«ããããã¯ã«åå²ãããåªããã³ãŒããååŸããŸãã ãã®ã¢ãããŒãã§ã¯ãå€ãã®å Žåãã³ãŒãã®è¡æ°ãå¢å ããŸãã ã¡ãœããã®é·ãã10è¡ä»¥äžã§ããããšã瀺ãç¹å®ã®æšå¥šäºé ããããŸãã ãã¡ãããåã¡ãœããã®ãµã€ãºã¯éçºè ã®èªç±è£éã§ãããå€ãã®èŠå ã«äŸåããŸãã ç§ãã¡ã®ã¢ããã€ã¹ïŒç°¡åã§ããã¡ãœãããã³ã³ãã¯ãã«ããŠã1ã€ã®ã¡ãœããã1ã€ã®ã¿ã¹ã¯ãå®è¡ããããã«ããŸãã åã ã®ã¬ã³ããªã³ã°ããããšã³ãã£ãã£ã¯ãããšãã°ãã¡ãœããã®æåã«å ¥åæ€èšŒãæ¿å ¥ãããªã©ãæ¹åã容æã§ãã
ãããã®ã«ãŒã«ã説æããããã«ãåã®æ®µèœã®äŸãåãäžããã³ãŒãã«ã³ã¡ã³ããäžèŠãªã¡ãœãããäœæããŸãã
string GetLeafName ( Node node ) { if ( node != null ) { while ( node.next != null ) { node = node.next; } return node.name; } return ââ; }
æåŸã«ãã¡ãœããã®å®è£ ãé衚瀺ã«ããŸãã
... leafName = GetLeafName( node ); âŠ
ã¡ãœããã®å é ã§å ¥åã確èªããŠãã ããã ã³ãŒãã¬ãã«ã§ã¯ããã¹ãŠãŸãã¯ã»ãšãã©ãã¹ãŠã®ã¡ãœããã§å ¥åæ€èšŒãè¡ãããšãäžå¯æ¬ ã§ãã ããã¯ããŠãŒã¶ãŒã®è¡åã«ãããã®ã§ããå°æ¥ã®ãŠãŒã¶ãŒã¯ãããã°ã©ã ã®èª€åäœãåŒãèµ·ããå¯èœæ§ã®ããããŒã¿ãå ¥åã§ããŸãã ã©ã®æ¹æ³ã§ããäžåºŠãã䜿çšãããªãã£ãå Žåã§ããããŒã¿æ€èšŒãæŽçãããšã©ãŒåŠçãäœæããå¿ èŠããããŸãã ã¡ãœããã¯æœè±¡åã®ã¬ãã«ãšããŠæ©èœããã ãã§ãªããåå©çšã«ãå¿ èŠãªãããããã«ã¯äŸ¡å€ããããŸãã ååãšããŠãæ€èšŒãè¡ãå¿ èŠãããã¡ãœãããšæ€èšŒããå¿ èŠããªãã¡ãœããã«ã¡ãœãããåå²ããããšã¯å¯èœã§ãããå®å šãªä¿¡é ŒãšãandãªãŠãŒã¶ãŒãããã®ä¿è·ã®ããã«ã¯ããã¹ãŠã®å ¥åããŒã¿ããã§ãã¯ããæ¹ãè¯ãã§ãã
以äžã®äŸã§ã¯ãå ¥åãnullã«ãªããªãããã«ãã§ãã¯ãæ¿å ¥ããŸãã
List<int> GetEvenItems( List<int> items ) { Assert( items != null); List<int> result = new List<int>(); foreach ( int i in items ) { if ( i % 2 == 0 ) { result.add(i); } } return result; }
ç¶æ¿ã«ãã£ãŠãisãé¢ä¿ã®ã¿ãç¶æ¿ããŸãã ãã®ä»ã®å Žå-æ§æã åæã¯ãã³ãŒãã®èªèã容æã«ããããšãç®çãšããéèŠãªãã¿ãŒã³ã®1ã€ã§ãããç¶æ¿ãšã¯ç°ãªããã«ãã»ã«åã®ååã«éåããŸããã ã¯ã©ã¹èµãšã¯ã©ã¹ãã€ãŒã«ããããšããŸãã Carã¯ã©ã¹ã¯Ancestorã¯ã©ã¹Wheelã®çžç¶äººãšããŠå®è£ ã§ããŸãããCarã«ã¯Wheelã¯ã©ã¹ã®ããããã£ãå¿ èŠã§ãã
ãããã£ãŠãããã°ã©ãã¯ç¶æ¿ãçæãå§ããŸãã ããããå²åŠçè«çã®èŠ³ç¹ããããã°ãCarã¯ã©ã¹ã¯èŠçŽ ã®è€åäœã§ãã ç¶æ¿ã䜿çšããŠæ°ããã¯ã©ã¹ãäœæãããšãã«ãã®ãããªã³ãŒãããããšä»®å®ããŸãïŒScreenElementã¯ã©ã¹ã¯Coordinateã¯ã©ã¹ã®ãã£ãŒã«ããšã¡ãœãããç¶æ¿ãããã®ã¯ã©ã¹ãæ¡åŒµããŸãïŒã
lass Coordinate { public int x; public int y; } class ScreenElement : Coordinate { public char symbol; }
æ§æã䜿çšããŸãïŒ
lass Coordinate { public int x; public int y; } class ScreenElement { public Coordinate coordinate; public char symbol; }
æ§æã¯ç¶æ¿ã®åªãã代æ¿æ段ã§ããããã®ãã¿ãŒã³ã¯èšè¿°ãããã³ãŒããããã«ç解ããããã«ç°¡åã§ãã ãã®ã«ãŒã«ã«åŸãããšãã§ããŸããç®çã®ã¯ã©ã¹ãç¥å ã¯ã©ã¹ã«é¡äŒŒããŠãããä»ã®ã¯ã©ã¹ã®ã¡ãœããã䜿çšããªãå Žåã«ã®ã¿ãç¶æ¿ãéžæããŸãã ããã«ãæ§æã«ãã£ãŠããã°ã©ãã¯å¥ã®åé¡ãã解æŸãããŸã-ç¶æ¿äžã«çºçããååã®ç«¶åããªããªããŸãã æ§æã«ã¯æ¬ ç¹ããããŸãããªããžã§ã¯ãã®æ°ãè€è£œãããšãçç£æ§ã«åœ±é¿ããå¯èœæ§ããããŸãã ãã ããããããããžã§ã¯ãã®èŠæš¡ã«äŸåãããããããããã®ã±ãŒã¹ã§éçºè ãåå¥ã«è©äŸ¡ããå¿ èŠããããŸãã
å®è£ ããã€ã³ã¿ãŒãã§ã€ã¹ãåé¢ããŸãã ããã°ã©ã ã§äœ¿çšãããã¯ã©ã¹ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ïŒå€éšããã¯ã©ã¹ã䜿çšããå Žåã«äœ¿çšå¯èœïŒãšå®è£ ïŒã¡ãœããïŒã§æ§æãããŸãã ã³ãŒãã§ã¯ãã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããåé¢ããŠãOOPã®ååã®1ã€ã§ããã«ãã»ã«åã«æºæ ããã³ãŒãã®å¯èªæ§ãåäžãããå¿ èŠããããŸãã
ã¯ã©ã¹ãåãïŒ
class Square { public float edge; public float area; }
å¥ã®ã¯ã©ã¹ïŒ
class Square { public float GetEdge(); public float GetArea(); public void SetEdge( float e ); public void SetArea( float a ); private float edge; private float area; }
2çªç®ã®ã±ãŒã¹ã¯ããã©ã€ããŒãã¢ã¯ã»ã¹ä¿®é£Ÿåã䜿çšããŠå®è£ ãé ããããæãŸããæ¹æ³ã§ãã ã³ãŒãã®èªã¿ããããæ¹åããããšã«å ããŠãå°ããªã€ã³ã¿ãŒãã§ã€ã¹ãäœæããèŠåãšçµã¿åãããŠå®è£ ããã€ã³ã¿ãŒãã§ã€ã¹ãåé¢ããããšã¯ãå¥ã®éèŠãªå©ç¹ãæäŸããŸãïŒããã°ã©ã ã®èª€åäœã®å Žåãé害ã®åå ãèŠã€ããããã«ãã§ãã¯ããå¿ èŠãããæ©èœã¯ãããã§ãã éããŠããé¢æ°ãšããŒã¿ãå€ãã»ã©ããšã©ãŒã®åå ã远跡ããããšãé£ãããªããŸãã ãã ããã€ã³ã¿ãŒãã§ã€ã¹ã¯å®å šã§ãããå¿ èŠãªãã¹ãŠã®æäœãå®è¡ã§ããããã«ããå¿ èŠããããŸããããããªããšåœ¹ã«ç«ããªããªããŸãã
ãŠã§ãããŒã®äžã§ããããªãã¯æ£ããæžãããšãã§ããããããªãã¡ã¯ã¿ãªã³ã°ããããšã¯ã§ããŸãããïŒããšè³ªåãããŸããããããããæ°å¹ŽãŸãã¯æ°å幎ã®ããã°ã©ãã³ã°ã®åŸãç¹ã«ããã°ã©ã ã®ã¢ãŒããã¯ãã£ã®åæããžã§ã³ãããå Žåããããå¯èœã«ãªããŸãã ããããããã€ãã®ãªãªãŒã¹ãšæ¹è¯ã®ç¹°ãè¿ããéããŠãããžã§ã¯ãã®æçµç¶æ ãäºæž¬ããããšã¯ã§ããŸããã ãã®ãããããã°ã©ã ã®éçºã®æç¶å¯èœæ§ãšèœåãä¿èšŒããäžèšã®ã«ãŒã«ãåžžã«èŠããŠããããšãéèŠã§ãã
ãããªãéããŠæ å ±ãèªèãããŠã§ãããŒã®è©³çŽ°ãèããã人-ãããªçïŒ
ä»ã®ãŠã§ãããŒã¯ãã¡ãã§ã芧ããã ããŸã ã