程序员水平分级 你属于哪一类?

2012-02-15 21:14

程序员水平分级 你属于哪一类?

by

at 2012-02-15 13:14:50

original http://www.cnbeta.com/articles/172793.htm

cnBeta ²©Îľ«Ñ¡

¸ÐлÖйúŵÍøµÄͶµÝ
ÐÂÎÅÀ´Ô´:²®ÀÖÔÚÏß
½üÈÕ£¬whattofix.com ¿¯µÇÁËһƪ Daniel Markham µÄÎÄÕ¡¶What Level Programmer Are You?¡·£¬ÎÄÄÚ½«²Î²î²»ÆëµÄ³ÌÐòÔ±°´ÕÕ¼¼Êõˮƽ·ÖΪ´Ó¡°Ö»¶Á¡±µ½¡°Éϵۡ±£¬¹²Ê®Ò»¸ö½×¶Î£¬ÒÔ°ïÖú¹ã´ó³ÌÐòÔ±ÕÒµ½×ÔÉí¶¨Î»²¢´ÓÖз¢ÏÖ×Ô¼º·¢Õ¹·½Ïò¡£ÒÔÏÂÊÇÎÄÕÂÕªÒª£º

Ëæ׿¼Êõ·¢Õ¹£¬±à³ÌÇÄÈ»ÈÚÈëÁËÎÒÃǵÄÉú»î¡£ÎÒÃÇÒÑÈ»Àë²»¿ªÄÇЩ³ÌÐòºÍ±à³ÌÓïÑÔ¡£ºÜ¶àÈ˶¼ÔÚ²»Í¬³Ì¶ÈµØ̸ÂÛ×ÅÈçºÎ±à³Ì£¬¶øÇÒÒ²µ®Éú³öºÜ¶à±à³ÌÓïÑÔÅÅÐС£ÄÇô³ÌÐòÔ±µ½µ×Ó¦¸ÃÈçºÎ·Ö¼¶ÄØ£¿

Ê×ÏÈÒªÃ÷°×ʲôÊdzÌÐòÔ±£¿Éè¼Æ×Ô¼ºµÄ Apache Web ·þÎñÆ÷µÄ¼Ò»ï£¿ÖÆ×÷Ò»¸ö¸´Ô Excel µç×Ó±í¸ñµÄ¼Ò»ï£¿ÄÜ×Ô¼º¿ª·¢ RPG µÄ¼Ò»ï£¿Minecraft µÄÍæ¼Ò£¿ÕâЩ¶¼ÊôÓÚ³ÌÐòÔ±µÄÄÄÒ»¸ö¼¶±ðÄØ£¿µ±ÎÒÃÇ˵£º¡°Ã¿¸öÈ˶¼ÐèÒªÁ˽â±à³Ì¡±£¬Õâ¾ä»°Òâζ×Åʲô£¿

ËùÒÔ£¬ÎÒÃÇÐèÒªÖƶ¨Ò»¸ö³ÌÐòÔ±µÄµÈ¼¶£¬ÒÔ±ãÈóÌÐòÔ±ÃÇÁ˽â×Ô¼ºËù´¦µÄ»·¾³ºÍ·¢Õ¹·½Ïò¡£

Level 1£¬Ö»¶Á¡ª¡ªÕâЩÈËÁ˽âÈçºÎÉèÖà Web ·þÎñÆ÷µÄ·½·¨£¬ÔÚÆÕͨÇé¿öÏÂÄܹ»Í¨¹ýÅäÖ÷½Ê½»ñÈ¡¹¤×÷ËùÐèÒªµÄ¶«Î÷¡£×÷Ϊ»ù´¡ËûÃÇÖªµÀÈçºÎʹÓÃÎı¾±à¼­Æ÷ºÍÎļþϵͳ£¬»¹ÓµÓÐÒƶ¯ºÍ²Ù×÷ÎļþµÄÄÜÁ¦£¬Èç ZIP ºÍ FTP¡£Ò²ÄÜÔڽṹÖÐʹÓóéÏó·ûºÅ£¬½âÎö·½Ê½ÒÔ¼°ÏµÍ³¼¼ÄÜ¡£

³ÌÐòԱˮƽ·Ö¼¶ ÄãÊôÓÚÄÄÒ»Àࣿ

Level 2£¬½Å±¾¡ª¡ªÄܹ»±àдÏßÐԽű¾¸æËßµçÄÔÒª×öʲô£¬Äܹ»Ñ§Ï°ºÍʹÓÃ×Ô¼ºµÄ·ûºÅ¡£Èç¹ûÓÐ×ã¹»µÄʱ¼äºÍÊéÃæÖ¸µ¼£¬ËûÃÇ¿ÉÒÔʹÓà bash »òÊÇ VB ±àдһЩ¼òµ¥½Å±¾£¬Îª×Ô¼º×öЩʵÓõÄÊÂÇé¡£

Level 3£¬¹ÜÀíÔ±¡ª¡ªÕâЩÈËÁ˽â¿âºÍ API£¬²¢ÓÐÄÜÁ¦Ñ§Ï°¸ü¶à¡£ËûÃÇÖªµÀ²»¹ÜʹÓÃʲô½Å±¾ÓïÑÔ¶¼¶¼ÐèÒªÁ¬½Ó¿â¡£Èç¹ûËûÃÇÓöµ½ÎÊÌ⣬¿ÉÒÔͨ¹ýÔĶÁʹÓÃÊÖ²á½â¾ö£¬»òÊÇÔÚÍøÉÏËÑË÷¿â²¢ÀûÓÃÕÒµ½µÄ½á¹û¡£ÔÚ¹¤×÷ÖÐËûÄܹ»·¢ÏÖ»òÊÇ¿ª·¢×Ô¼ºµÄ·ûºÅ£¨Ê¹Óà struct ±àдº¯Êý»òÊÇÉùÃ÷£©¡£´ó¶àÊýϵͳ³ÌÐòÔ±¶¼´¦ÔÚÕâ¸öµÈ¼¶½×¶Î£¬Excel µÄ³õ¼¶ºêϵͳÓû§Ò²Í¬Ñù´¦ÔÚÕâ¸ö½×¶Î¡£

Level 4£¬Object-Dot-Method¡ª¡ª¸Õ¿ªÊ¼Ñ§Ï° coupling ºÍ cohesion£¬ËûÃÇ×ÅÊÖ×éÖ¯×Ô¼ºµÄ½Å±¾Ãæ¶Ô¹«¹²¶ÔÏó¡¢Ë½ÓгÉÔ±ºÍ·½·¨¡£ÕâÀïÓÐÁùÖܱà³ÌÆæ¼££¬½éÉÜ .NET ³ÌÐòÔ±¡£ÕâЩÈËÄÜÍæתµ¼Ïò£¬Á˽â¿âºÍ¹¹½¨Àà¡£Èç¹û²»Ê¹ÓÃÀ࣬ËûÃÇÒ²Äܹ»´´½¨×Ô¼ºµÄÄ£¿é»òÊÇ´úÂëÎļþ¡£¸ß¼¶½Å±¾Óû§¿ÉÔ¶²»Ö¹ÕâÑù¡£ÓÐһЩ¸ß¼¶ Excel É̵êºÍ¹ÉƱ¾­¼Í£¬ËûÃÇʹÓÃ×Ô¼º VBA ×÷Ϊ»ù´¡´úÂ룬¶øûÓÐÒâʶµ½×Ô¼º´¦ÓÚÕâ¸ö¼¶±ð¡£

Level 5£¬¶àÖØ¿ò¼Ü¡ª¡ªÒ»µ©ÉÏÉýµ½Õâ¸ö¼¶±ð£¬½«»áÓöµ½¸÷ÖÖ¸÷ÑùµÄÂé·³¡£³£¼û±à³ÌÏÂÒ»½×¶Î¾ÍÊÇÄܹ»Ê¹ÓöàÖØ¿ò¼Ü¡£ÕâЩÈË¿ÉÒÔ±àдC#£¬µ«Ò²ÖªµÀÈçºÎ´´½¨±í¸ñºÍ±àд SQL Óï¾ä£»¿ÉÒÔ±àдC£¬Í¬Ê±Ò²»áʹÓà JavaScript ºÍ HTML¡£ÕâÁ½¸ö¼¼Äܲ¢²»´ú±íËûÃǾÍÊÇ´óʦ£¬Ö»ÊÇҪѧ»áÔÚÀí½âͬһ¸öÎÊÌâÉÏ£¬ÐèҪͨ¹ý¶àÖÖ²»Í¬µÄ·½Ê½À´ÕÒÑ°´ð°¸¡£

Level 6£¬³õ¼¶½¨Öþʦ¡ª¡ªÕâ½×¶ÎµÄÈ˲ÅËãÊÇÕæÕýµÄ´Óʱà³Ì¹¤×÷¡£ËûÃÇÿÌìµÄ¹¤×÷¾ÍÊÇÒªÉîÈëÁ˽â¿âºÍ API¡£²¢²»ÊÇÒªÇóËûÃDZØÐë¼ÇסÕâЩ£¬µ«ÊÇÒªÁ˽âÓò»Í¬µÄģʽȥʵÏÖ×Ô¼ºµÄÄ¿±ê¡£ÏëÒªÔÚ Win32 ÖлæÖÆ£¿¿ÉÄÜÐèҪһЩ GDI ×ÊÔ´¾ä±ú¡£ËûÃÇÖªµÀ¾ä±úÊÇÔÚϵͳ±íij´¦µÄÒ»¸ö UInt32 hash¡ª¡ª³£¼ûµÄ Win32 ·¶Àý¡£ÏëÔÚ×Ô¼ºµÄ¿âÖÐÌí¼Ó JQuery£¿Ð¿âÀïÓкܶà¸ñʽ£¬ËûÃÇÓ¦¸ÃÖªµÀÔõô×ö²¢ÇÒÄܽâÊÍÆ乤×÷·½Ê½¡£Óë´Ëͬʱ£¬Ò²Òª¿ªÊ¼Ñ§Ï°ÈçºÎÖع¹×Ô¼ºµÄ´úÂ벢ͻÏÔÁÁµã£¬ÔöÇ¿Æä´úÂëµÄÖÊÁ¿£¬ÂýÂýµÄÄã»áÀí½â¡£

Level 7£¬×ÊÉî¼Ü¹¹Ê¦¡ª¡ªËûÃǵÄʱ¼äÊÇÓÃÀ´´´½¨×Ô¼ºµÄ API£¬Æ½Ì¨»òÊÇ¿â¡£Ò²ÐíÕâÊÇÒ»¸ö´óÏîÄ¿µÄ±ØÐèÆ·£¬Ò²ÐíÖ»ÊÇËûÃǸöÈËÏë°Ñ×Ô¼ºµÄѧʶÍƹã³öÈ¥¡£ËûÃÇ¿ª·¢µÄϵͳΪÓû§½â¾öʵ¼ÊÎÊÌ⣬ËùÃæ¶ÔµÄÊÜÖÚȺÊÇ Level 5 ³ÌÐòÔ±¡£ÔÚÕâ¸ö½×¶ÎÐèÒªÉîÈë OOAD£¬Ä£°åºÍʵ¼ù¡£ÎÒÃÇ´ó¶àÊýÈËÔÚ¸Õ¿ªÊ¼¶¼»á¸ãµÃÒ»ÍÅÔ㣬²»ÄÜÀí½âÔõôÓøü¼Ó¼òµ¥µÄ·½·¨½«¸´ÔÓÊÂÇé¼òÒ×»¯¡£Õâ¸ö½×¶ÎÐèÒªÀú¾­ºÜ³¤Ê±¼ä£¬ÐèÒª²»¶ÏÐÞÕý´íÎ󣬿ª·¢¸ßÖÊÁ¿µÄϵͳ²¢´´½¨¸ü¸´ÔÓ¡¢Áé»îÐԸߵĿ⡣µ±ËûÃÇ´ÓÍâÃæ½ÓÊܼ¸¸öÔµÄÌض¨Åàѵ»ØÀ´£¬¿Ï¶¨Ï£ÍûÍŶÓÆäËûÈ˶¼ÄÜÀí½âËû×öÁËʲô¡£

Level 8£¬Meta¡ª¡ªÔÚijЩʱºò£¬Ï£ÍûÕâЩÈËÄÜÒâʶµ½´óÁ¿¸´ÔÓÐÅϢͶÈë½á¹¹ºÍ¹¹¼ÜÖпÉÒÔ¸üºÃµØÐÎÈÝÌض¨ÓòµÄÓïÑÔ£¬ÆäÊÜÖÚȺÌåÊÇ Level 4 ³ÌÐòÔ±¡£´úÂëµÄ¸´ÔÓÐÔÔö´ó£¬¾ÍÄܼõÉÙ´úÂëµÄÊýÁ¿£¬DSL ¿ª·Å¿ÉÒÔ½«´úÂëչʾµ½¸÷Öֵط½¡£×ÜÖ®£¬ËûÃǽ«³ÉΪ³ÌÐòԱʹÓýű¾ÓïÑÔ·½ÃæµÄ×÷¼Ò¡£Í¨¹ýÒ×ÓÚʹÓõĽű¾ºÍµ¼Ïò½«ËûÃǵÄϵͳ¿ª·Å¸ø³õѧÕß¡£¿ÉÒÔ·Ö±ðѧϰÕâЩ¼¼ÄÜ£¬µ«´ó¶àÊýÇé¿öÊÇÔÚ¸´ÔӵĽṹºó£¬×îÖÕ×ßÏò DSL µÄµÀ·¡£ºÜ¿ì¾ÍÄÜ¿´µ½×î³õ¹æÄ££ºÀûÓÃ×Ô¼º±àдµÄ DSL Äܹ»ºÜºÃµÄÀí½âÎÊÌâ¡£

Level 9£¬Functional Nirvana¡ª¡ªÂýÂý½Ó½ü½±½ð£¬ËûÃÇÒª¿ªÊ¼Ñ§Ï°ÈçºÎ±àд¹¦Äܹ滮¡£ÆäÊÜÖÚȺÊÇ Level 3 µÄ³ÌÐòÔ±¡£FP ÊDZز»¿ÉÉٵģ¬°ïÖúËûÃÇÇáËɵÄÍÑÀë DSL£¬²¢Äܹ»´ó·ù¶È¼õÉÙ´úÂëÊýÁ¿À´½â¾öÎÊÌ⣬ͬʱӵÓнϸߵÄÀ©Õ¹ÐÔ¡£Ä³Ð©º¯Êýʽ±à³ÌÓïÑÔÔÚϵͳÔËÐÐʱ¿ÉÒÔ hot¨Cswap£¬ÂýÂý¾Í»á¸Ð¾õµ½ÒѾ­½Ó½üÏȽøˮƽ¡£FP ÊÇÒ»ÇÐÎÊÌâµÄ´ð°¸¡£ËäÈ» FP ¿ÉÒÔ¼õÉÙ BUG£¬ÌáÉý¿ª·¢Ð§ÂÊ£¬µ«´úÂëÒ²Ïà¶ÔÀ´ËµºÜÄÑѧ¡£³ÌÐòÔ±µÄÄÔº£ÀïÐèҪʱ¿Ì¼ÇÒäºÜ¶à¶«Î÷¡ª¡ªËûÃDZØÐëÒª¼Çס·±ËöµÄ¸´ÔÓ·ûºÅ¡£µ«ÊÇ£¬½á¸ùµ½µ× FP Ö»ÊǵÀ·ÉϵÄÒ»¸ö½×¶Î£¬ºÜ¶àÀàËÆ OOAD¡£

Level 10£¬ÃæÏòÓïÑÔÉè¼Æʦ¡ª¡ªËûÃDz鿴ËùÓÐд´½¨µÄ±à³ÌÓïÑÔ³ÌÐò¡£Î©Ò»µÄÇø±ðÊÇÐÂÓïÑÔÓ¦¸Ã×öʲô¡£ËûÃÇÁ˽âÈçºÎ¿ª·¢ÃæÏò¶ÔÏóÓïÑÔ£¬ÓïÑÔ¹¦Äܺͽű¾ÓïÑÔ£¬ÖªµÀÿһ¸öÓïÑÔÔÚºÎʱºÎµØµÄÓÃ;¡£ÆäÊÜÖÚȺÊÇ Level 2 ³ÌÐòÔ±¡£ËûÃǶÔÿһ¸öÏîÄ¿¶¼»áÎÊ£º¡°Õâ¸öÏîÄ¿ÎÒÃÇÐèҪʲôÑùµÄÓïÑÔ£¿¡±ÔÚÏîÄ¿Íê½áºóËûÃǽ«»áµÃµ½Ò»¸öºÜºÃµÄ¹¤¾ß£¬¼È½â¾öÁËÎÊÌâ²¢Ò×ÓÚÀí½â»¹À©Õ¹ÁËÈëÃż¶³ÌÐòÔ±¡£´ó¶àÊýÏîÄ¿²»ÐèÒªÃæÏòÓïÑÔÉè¼Æʦ¡£

Éϵۼ¶±ð£¬¼ÆËã»ú¿Æѧ¼Ò¡ª¡ªÒªÃ´¾ÍÊDZà³ÌµÄ¶¥·åҪô¾Í²»´æÔÚ£¬Õâ¸öÈ¡¾öÓÚ×Ô¼ºµÄ¹Ûµã¡£Õâ¸ö¾ÍÊÇ¿Æѧ¹æ»®£¬ÔÚÀïÃæÓкܶàºÜ¿áµÄ¶«Î÷¡£ÈκÎÒ»¸öÈ˶¼ÊÇÆäÊÜÖÚȺÌå¡£µ«Öص㲻ÊÇÔÚÓÚ×öÈËÃÇÏëÒªµÄ¶«Î÷£¬¶øÊÇ´Ù½øѧÊõµÄ·¢Õ¹¡£ÒòΪ´ó¶àÊý±à³ÌÄÜÁ¦Ë®Æ½¶¼ÊÇ»ùÓÚÈ˶øÑÔ£¬ÈËÃǾÓסÔÚÊÀ½ç¸÷µØ£¬Ò²ÊDZØÒªÌõ¼þÖ®Ò»¡£ÈçºÎ¼òµ¥µÄÔÚÁ½¹úÖ®¼äÏ໥À´Íù£¿

³ÌÐòԱˮƽ·Ö¼¶ ÄãÊôÓÚÄÄÒ»Àࣿ
ÄãÔÚÕâÀï¿ÉÄÜÊܵ½ºÜ¶àÆô·¢£¬ÀýÈ磬Ê×ÏÈѧϰº¯Êýʽ±à³ÌÔÙѧϰ OOP¡£ÄãÒ²¿ÉÒÔ¿ª·¢×Ô¼ºµÄ±àÒëÆ÷£¬Õâ²»ÊÇ´óѧµÄÀÖȤÂ𣿻òÊdzÌÐò¼¯£¬»òÊÇÕæÕýÀí½â¼¯ÀíÂÛ£¬»òÊÇÈçºÎ¿ª·¢ÊÊÓÃÓÚÊý¾Ý¿âÓë±à³ÌÊý¾ÝµÄ½á¹¹¡£»òÊÇ¿ª·¢ÄãµÄµÚÒ»¸ö±à³Ì¹¤¾ß¡£

ÕâЩÊÇÎÒËù¿´µ½µÄ´ó¶àÊý³ÌÐòÔ±Ëù×ñÑ­µÄµÀ·¡£

[Ô­ÎÄ£ºWhat Level Programmer Are You£¿]