周三 17 11月 2010
[ZT]风雨20年:我所积累的20æ¡ç¼–程ç»éªŒ
Posted by Semon under 摘录
No Comments
原文作者乔纳森·丹尼å¯ï¼ˆJonathan Danylko)是一ä½è‡ªç”±èŒä¸šçš„web架构师和程åºå‘˜ï¼Œç¼–程ç»éªŒå·²è¶…过20年,涉足领域有电å商务ã€ç”Ÿç‰©æŠ€æœ¯ã€æˆ¿åœ°äº§ã€åŒ»ç–—ã€ä¿é™©å’Œå…¬ç”¨äº‹ä¸šã€‚æ£å¦‚乔纳 森在文ä¸æ‰€è¨€ï¼Œæœ¬æ–‡é€‚åˆåˆšæ¯•ä¸šçš„大å¦ç”Ÿå’Œåˆšå…¥é—¨çš„程åºå‘˜ã€‚å¦‚æžœä½ å·²æ˜¯é«˜çº§å¼€å‘äººå‘˜ï¼Œæˆ–è®¸ä½ åœ¨æœ¬æ–‡ä¸çœ‹åˆ°è‡ªå·±çš„身影。
从11å²æ—¶ï¼Œæˆ‘就一直在编程,并且一直都很喜欢技术和编程。这些年æ¥ï¼Œæˆ‘积累了一些艰难åˆå®¹æ˜“çš„ç»éªŒã€‚作为一å程åºå‘˜ï¼Œä½ 或许还没这些ç»éªŒï¼Œä½†æˆ‘会把它们献给那些想从ä¸å¦åˆ°æ›´å¤šçš„朋å‹ã€‚
我会æŒç»æ›´æ–°è¿™äº›ç»éªŒï¼Œæˆ‘å¯èƒ½è¿˜ä¼šæœ‰æ›´å¤šçš„感想,但就我这20å¹´æ¥çœ‹ï¼Œæˆ‘想下é¢è¿™ä¸ªåˆ—表ä¸åŸºæœ¬ä¸éœ€è¦å¢žæ·»é¢å¤–的东西了。下é¢å°±æ˜¯æˆ‘至今最难忘的ç»éªŒã€‚
1. 估算解决问题所需è¦çš„时间。ä¸è¦æ€•ï¼Œæ‰¿è®¤å§ï¼æˆ‘曾è§è¿‡ä¸€äº›ç¨‹åºå‘˜ä¸ºäº†è§£å†³ä¸€ä¸ªç‰¹æ®Šé—®é¢˜è€Œå在显示器å‰é¢8å°æ—¶ã€‚为自己定一个时间é™åˆ¶å§ï¼Œ1å°æ—¶ã€30分钟或甚至15åˆ†é’Ÿã€‚å¦‚æžœåœ¨è¿™æœŸé—´ä½ ä¸èƒ½è§£å†³é—®é¢˜ï¼Œé‚£å°±åŽ»å¯»æ±‚帮助,或到网上找ç”案,而ä¸æ˜¯å°è¯•åŽ»åšâ€œè¶…çº§å †ç 员â€ã€‚
2. 编程è¯è¨€æ˜¯ä¸€ç§è¯è¨€ï¼Œåªæ˜¯ä¸€ç§è¯è¨€ã€‚éšç€æ—¶å…‰æŽ¨ç§»ï¼Œåªè¦ä½ ç†è§£äº†ä¸€ç§è¯è¨€çš„原ç†ï¼Œä½ 会å‘现å„ç§è¯è¨€ä¹‹é—´çš„相似之处 ã€‚ä½ æ‰€é€‰æ‹©çš„è¯è¨€ï¼Œä½ 应该觉得“舒æœâ€ï¼Œå¹¶ä¸”能够写出有效(而且简æ´ï¼‰çš„代ç 。最é‡è¦çš„,让è¯è¨€åŽ»é€‚应项目,å之亦然。
3. ä¸è¦è¿‡äºŽæ³¨é‡ç¨‹åºçš„“设计模å¼â€ã€‚ 有时候,写一个简å•çš„算法,è¦æ¯”引入æŸç§æ¨¡å¼æ›´å®¹æ˜“。在多数情况下,程åºä»£ç 应是简å•æ˜“懂,甚至清æ´å·¥ä¹Ÿèƒ½çœ‹æ‡‚。
4. ç»å¸¸å¤‡ä»½ä»£ç ã€‚åœ¨æˆ‘å¹´è½»æ—¶ï¼Œæˆ‘å°±æœ‰è¿‡å› ç¡¬ç›˜æ•…éšœè€Œä¸¢äº†å¤§é‡ä»£ç çš„ç»åŽ†ï¼Œè¿™ç»åŽ†å¾ˆæ怖的。åªè¦ä½ 一次没有备份,就应当åƒæœ‰ç€ä¸¥æ ¼çš„期é™ï¼Œå®¢æˆ·æ˜Žå¤©å°±éœ€è¦ã€‚æ¤æ—¶å°±è¯¥æºç /版本控制软件大显身手了。
5. 承认自己并ä¸æ˜¯æœ€é¡¶å°–的程åºå‘˜ – 知ä¸è¶³ã€‚æˆ‘å¸¸æƒ³ï¼Œæˆ‘å¯¹ç¼–ç¨‹äº†è§£å·²è¶³å¤Ÿå¤šï¼Œä½†æ˜¯æ€»æœ‰å…¶ä»–äººæ¯”ä½ ä¼˜ç§€ã€‚æ£æ‰€è°“,“一山总比一山高â€ã€‚所以,å‘他们看é½å§ï¼
6ã€å¦ä¹ å†å¦ä¹ 。æ£å¦‚第5点所说,我ç»å¸¸ä¼šåœ¨æ‰‹é‡Œæ‹¿ä¸€æœ¬è®¡ç®—机或编程相关的æ‚志或书(ä¸ä¿¡ï¼Œå¯ä»¥é—®æˆ‘的朋å‹ï¼‰ã€‚è¯šç„¶ï¼Œæ€»æœ‰å¾ˆå¤šä½ ä¸çŸ¥é“çš„æŠ€æœ¯ï¼Œä½ å¯ä»¥ä»Žä¸å¦ä¹ 以ä¿æŒä¸è½åŽã€‚å¦‚æžœä½ æœ‰ä¸€ç§çµå·§çš„æ–¹å¼æ¥èŽ·å–ä½ éœ€è¦çš„æ–°æŠ€æœ¯ï¼Œé‚£ä½ æ¯å¤©éƒ½åº”该åšæŒå¦ä¹ 。
7. æ°¸æ’çš„å˜åŒ–ã€‚ä½ å¯¹å¾…æŠ€æœ¯/编程知识,就应åƒä½ å¯¹å¾…è‚¡ç¥¨ä¸€æ ·ï¼šå¤šæ ·åŒ–ã€‚ä¸è¦åœ¨æŸä¸€ç‰¹å®šæŠ€ 术上自我感觉良好。如果那ç§æŠ€æœ¯æˆ–è¯è¨€å·²ç»æ²¡æœ‰è¶³å¤Ÿæ”¯æŒï¼Œé‚£ä½ 还ä¸å¦‚çŽ°åœ¨å°±å¼€å§‹æ›´æ–°ä½ çš„ç®€åŽ†ï¼Œå¹¶å¯åŠ¨åŸ¹è®æ–°è®¡åˆ’。我能ä¿æŒå‰è¡Œçš„主è¦åŽŸåˆ™æ˜¯ä»€ä¹ˆå‘¢ï¼Ÿè‡³å°‘了 解两到三ç§è¯è¨€ï¼Œæ‰€ä»¥ï¼Œå¦‚æžœæŸç§è¯è¨€è¿‡æ—¶äº†ï¼Œä½ 在å¦ä¹ 新技术的时候还å¯ä»¥ä¾é å¦ä¸€ç§è¯è¨€ã€‚
8. ææºæ–°äººã€‚å助并且培养åˆçº§/入门的开å‘人员å¦ä¹ ä¼˜ç§€çš„ç¼–ç¨‹æ–¹æ³•å’ŒæŠ€å·§ã€‚ä¹Ÿè®¸ä½ è¿˜ä¸çŸ¥é“,在帮助他们å‘更高一层å‰è¿›æ—¶ï¼Œä½ 自己也在å‘更高一层æå‡ï¼Œä½ ä¼šæ›´åŠ è‡ªä¿¡ã€‚
9. 简化算法。代ç 如æ¶é”ï¼Œåœ¨ä½ å®Œæˆç¼–ç åŽï¼Œåº”回头并且优化它。从长远æ¥çœ‹ï¼Œè¿™é‡Œæˆ–那里一些的改进,会让åŽæ¥çš„支æŒäººå‘˜æ›´åŠ è½»æ¾ã€‚
10. ç¼–å†™æ–‡æ¡£ã€‚æ— è®ºæ˜¯WebæœåŠ¡çš„API,还是一个简å•çš„ç±»ï¼Œä½ å°½é‡ç¼–写相应文档。我曾ç»å¼•ä»¥ä¸ºè±ªçš„代ç æ³¨é‡Šï¼Œå› è¿‡åº¦ 注释而有人指责。给三行代ç åŠ ä¸€è¡Œæ³¨é‡Šï¼Œåªéœ€è¦ä½ å‡ ç§’æ—¶é—´ã€‚å¦‚æžœé‚£æ˜¯ä¸€ä¸ªæ¯”è¾ƒéš¾ä»¥ç†è§£çš„技术,åƒä¸‡åˆ«æ‹…å¿ƒè¿‡å¤šæ³¨é‡Šã€‚å¦‚æžœä½ èƒ½å¾ˆå¥½åšå¥½è‡ªå·±çš„工作,大多数架 构师ã€åŽå¤‡ç¨‹åºå‘˜ã€æ”¯æŒç»„éƒ½ä¼šæ„Ÿæ¿€ä½ ã€‚
11. 测试ã€æµ‹è¯•å†æµ‹è¯•ã€‚我是一å黑盒测试粉ä¸ã€‚å½“ä½ å®Œæˆç¼–ç åŽï¼Œä½ “被认å¯â€çš„æ—¶å€™å°±å¼€å§‹äº†ã€‚å¦‚æžœä½ ä»¬å…¬å¸æœ‰QAéƒ¨é—¨ï¼Œå¦‚æžœä½ çš„ä»£ç ä¸æœ‰é”™è¯¯ï¼Œé‚£ä½ 得到的评论,会比项目ç»ç†è¿˜å¤šã€‚å¦‚æžœä½ ä¸å½»åº•æµ‹è¯•è‡ªå·±çš„代ç ,那ææ€•ä½ å¼€å‘çš„å°±ä¸åªæ˜¯ä»£ç ,å¯èƒ½è¿˜ä¼šå£°å狼藉。
12. 庆ç¥æ¯ä¸€æ¬¡æˆåŠŸã€‚我è§è¿‡å¾ˆå¤šç¨‹åºå‘˜åœ¨è§£å†³ç¼–程技术难题åŽï¼Œä¼šå’ŒåŒä¼´æ¡æ‰‹ã€å‡»æŽŒæˆ–甚至手舞足蹈。æ¯ä¸ªäººåœ¨ç”Ÿå‘½ä¸éƒ½ä¼šç¢°åˆ°â€œé¡¿æ‚Ÿâ€ã€‚如果一个程åºå‘˜é«˜å…´åœ°è·‘æ¥å«ä½ 去看他的éžå‡¡ä»£ç ï¼Œä¹Ÿè®¸ä½ å·²ç»çœ‹è¿‡è¿™æ ·çš„代ç 100éäº†ï¼Œä½†ä½ ä¹Ÿåº”è¯¥ä¸ºäº†è¿™ä¸ªå®¶ä¼™è€Œåº†ç¥ç¬¬101次。(编者注:《庆ç¥æˆåŠŸçš„ä¹ç§æ–¹å¼ã€‹ã€‚)
13. ç»å¸¸æ£€æŸ¥ä»£ç 。 在公å¸ï¼Œä½ 的代ç è¦ç»å¸¸æ£€æŸ¥ï¼ˆåŒ…括自查和其他åŒäº‹æ£€æŸ¥ï¼‰ã€‚ä¸è¦æŠŠåˆ«äººçš„检查,看æˆæ˜¯å¯¹ä»£ç é£Žæ ¼çš„è‹›æ±‚ã€‚åº”è¯¥æŠŠå®ƒä»¬çœ‹ä½œæ˜¯æœ‰å»ºè®¾æ€§çš„æ‰¹è¯„ã€‚å¯¹ä¸ªäººæ¥è¯´ï¼Œç»å¸¸æ£€æŸ¥ä½ 的代ç å¹¶ä¸”è‡ªé—®ï¼Œâ€œæˆ‘æ€Žæ ·æ‰èƒ½å†™å¾—æ›´å¥½å‘¢ï¼Ÿâ€ è¿™ä¼šè®©ä½ åŠ é€Ÿä½ çš„æˆé•¿ï¼Œè®©ä½ æˆä¸ºä¸€ä¸ªæ›´ä¼˜ç§€çš„程åºå‘˜ã€‚
14. å›žé¡¾ä½ çš„ä»£ç 。在 看到自己以å‰çš„代ç 时,通常会有两ç§æ–¹å¼ï¼šâ€œéš¾ä»¥è‡³ä¿¡ï¼Œè¿™ä»£ç 是我写的â€å’Œâ€œéš¾ä»¥è‡³ä¿¡ï¼Œè¿™ä»£ç 是 我写的â€ã€‚第一ç§å¾€å¾€æ˜¯åŽŒæ¶çš„è¯æ°”ï¼Œå¹¶åœ¨æƒ³å¦‚ä½•æ”¹è¿›å®ƒã€‚ä½ ä¹Ÿè®¸ä¼šæƒŠå¹ï¼Œæ—§ä»£ç 也能å¤æ´»æˆä¸ºä¸€ç§æ›´å¥½çš„程åºï¼Œç”šè‡³æ˜¯ä¸€ä¸ªå®Œæ•´çš„产å“。第二ç§é€šå¸¸å¸¦ç€æƒŠå¥‡å’Œæˆ 就感。开å‘人员应该一到两个自己完æˆçš„项目æˆæžœï¼Œèƒ½è®©ä¼—人ä¸ç¦è€Œç«‹å¹¶æ³¨ç›®è€Œè§‚的项目。åŒæ ·ï¼ŒåŸºäºŽä½ ä¼˜è¶Šçš„ç¼–ç¨‹èƒ½åŠ›ï¼Œä½ å¯ä»¥æŠŠè¿‡åŽ»çš„程åºæˆ–项目拿出æ¥ï¼ŒæŠŠå®ƒ ä»¬æ›´æ–°ä¸ºæ›´åŠ ä¼˜ç§€çš„äº§å“或想法。
15. 幽默是ä¸å¯ç¼ºçš„。在我20å¹´çš„å¼€å‘生涯ä¸ï¼Œæˆ‘还没有碰到哪ä½ç¨‹åºå‘˜æ˜¯æ²¡æœ‰å¹½é»˜æ„Ÿçš„。实际上,干我们这行,幽默是一项必备å“。
16. è°¨é˜²é‚£äº›æ— æ‰€ä¸çŸ¥çš„程åºå‘˜ï¼Œä¸æ„¿åˆ†äº«çš„程åºå‘˜ï¼Œè¿˜æœ‰ç»éªŒä¸è¶³çš„程åºå‘˜ã€‚å½“ä½ é‡åˆ°è¿™å‡ ç§ç¨‹åºå‘˜æ—¶ï¼Œä½ 自己è¦è°¦è™šã€‚æ— æ‰€ä¸çŸ¥çš„程åºå‘˜ï¼Œæ›´æƒ³å½“一个英雄而ä¸æ˜¯å›¢é˜Ÿæˆå‘˜ï¼›ä¿å®ˆçš„程åºå‘˜åˆ™æ˜¯åœ¨ç¼–写ç€ä»–们独享的代ç ;而ç»éªŒä¸è¶³çš„程åºå‘˜åˆ™ä¼šæ¯å分钟就æ¥é—®ä½ 一下,当代ç 完æˆåŽï¼Œä»£ç å·²ç»æ˜¯ä½ 的,而ä¸æ˜¯ä»–们。
17. 任何项目都ä¸ä¼šé‚£ä¹ˆç®€å•ã€‚朋 å‹ã€å®¶äººå’ŒåŒäº‹æ›¾è¯·æ±‚我仓促åšä¸€äº›äº‹æƒ…,仓促åšä¸€ä¸ªç¨‹åºæˆ–è€…ç½‘ç«™ã€‚å¯¹äºŽè¿™æ ·çš„äº‹ï¼Œåº”è¯¥ 从åŒæ–¹åšè®¡åˆ’,æ‰èƒ½åšå‡ºä»¤ä¸¤æ–¹éƒ½ä¼šæ»¡æ„的东西。如果æŸäººèµ·åˆåªæ˜¯éœ€è¦ä¸€ä¸ªä½¿ç”¨Microsoft Accessçš„ã€åªæœ‰æœ‰3个页é¢çš„网站,但æ¥å°±å¾ˆå¯èƒ½å˜æˆä¸€ä¸ªæœ‰15个页é¢çš„网站,并使用SQL Server,有一个论å›ï¼Œè¿˜æœ‰ä¸€ä¸ªå®šåˆ¶çš„CMS(内容管ç†ç³»ç»Ÿï¼‰ã€‚
18. 任何时候ä¸è¦æƒ³å½“然。å‡å¦‚ä½ æ‰¿æŽ¥ä¸€ä¸ªç®€å•çš„é¡¹ç›®ï¼Œä½ å¯èƒ½ä¼šè®¤ä¸ºæŸä¸ªéƒ¨åˆ†å¯ä»¥è½»æ¾å®Œæˆã€‚åƒä¸‡åˆ«è¿™æ ·æƒ³ï¼é™¤éžä½ 有一个类ã€ç»„件ã€æˆ–者一段已ç»å†™å¥½çš„代ç ,并且在现有的项目已ç»æµ‹è¯•é€šè¿‡ã€‚ä¸è¦è®¤ä¸ºè¿™å°†æ˜¯å¾ˆå®¹æ˜“的。
19. 没有已ç»å®Œæˆçš„软件。曾ç»æœ‰ä¸€ä½ç¨‹åºå‘˜å‘Šè¯‰æˆ‘,没有软件是已ç»å®Œæˆçš„,它åªæ˜¯â€œæš‚时完æˆäº†â€ã€‚è¿™æ˜¯æ˜Žæ™ºçš„å¿ å‘Šã€‚å¦‚æžœå®¢æˆ·è¿˜åœ¨ä½¿ç”¨ä½ å†™çš„ç¨‹åºï¼Œå¹¶ç»å—äº†æ—¶é—´çš„è€ƒéªŒã€‚å¦‚æžœæœ‰æœºä¼šï¼Œä½ ä»åœ¨æ›´æ–°å®ƒï¼Œè¿™å¹¶ä¸æ˜¯ä»€ä¹ˆåäº‹ï¼Œè¿™è®©ä½ ä¸æ–地å‰è¡Œã€‚
20. è€å¿ƒæ˜¯ä¸€ç§ç¾Žå¾·ã€‚当 客户ã€æœ‹å‹æˆ–家åºæˆå‘˜ç”¨ç”µè„‘的时候,他们也许会å—æŒ«ï¼Œè¿›è€Œæƒ³ç ¸ç”µè„‘ï¼Œæˆ–æ°”å†²å†²åœ°ç¦»å¼€ã€‚æˆ‘ä¸€ç›´åœ¨ å‘Šè¯‰ä»–ä»¬ï¼Œâ€œæ˜¯ä½ æŽŒæŽ§ç”µè„‘ï¼Œä¸æ˜¯ç”µè„‘æŽŒæŽ§ä½ ã€‚â€å¯¹äºŽç”¨ä½œç¼–ç¨‹çš„ç”µè„‘ï¼Œä½ è¦æœ‰ä¸€å®šçš„è€å¿ƒã€‚一旦程åºå‘˜çŸ¥é“问题所在åŽï¼Œä»–们就会站在电脑的角度看问题,并且说 â€œå“¦ï¼Œè¿™å°±æ˜¯ä¸ºä»€ä¹ˆå®ƒæ˜¯è¿™æ ·åšã€‚â€
编者åŽè¯
对本文深有感触ï¼è™½ç„¶æœ¬æ–‡æ²¡æœ‰åŽä¸½çš„辞藻,其ä¸æœ´å®žçš„é“ç†ï¼Œå…¶å®žå¹¶éžåªé€‚用程åºå‘˜ï¼ŒåŒæ ·å¯ä»¥æ‰©å±•åˆ°å…¶ä»–行业。记得以å‰ç»ƒå—时,总感觉当时写得很好,但åŽæ¥å›žå¤´å†çœ‹æ—¶ï¼Œä¹Ÿä¼šæƒ³â€œè¿™å±…然是我写的å—ï¼â€
在阅读本文的朋å‹ï¼Œä¸çŸ¥ä½ 是å¦ä¹Ÿæœ‰çœ‹åˆ°äº†è‡ªå·±çš„èº«å½±å‘¢ï¼Ÿæ¬¢è¿Žä½ åœ¨å¾®åšæˆ–评论ä¸å’Œå¤§å®¶ä¸€èµ·åˆ†äº«æ„Ÿè§¦ã€‚
本文出处:伯ä¹åœ¨çº¿ - èŒåœºåšå®¢
本文链接:http://www.jobbole.com/entry.php/322
Via:Jonathan Danylko 编译:伯ä¹åœ¨çº¿Â æ•æ·ç¿»è¯‘组 – @关关
No Responses to “ [ZT]风雨20年:我所积累的20æ¡ç¼–程ç»éªŒ ”