序言
本书将会帮助你成为一个
更好的程序员。
不管你是个人开发者,还是大项目团队中的一员,或者是同时为很多客户共事的顾问。本书将会帮助你,作为一个人体,更好地完成工作。本书不是理论书籍--我们专注于实际问题,利用你的经验作出更有见识的决定。pragmatic词来自拉丁语的pragmaticus--“商业技巧”--后者又源于希腊(...),意思是“去做。”这是一本关于“去做(doing)”的书。
编程是一门手艺。用最简单的话来说就是让计算机做你(或者用户)想让它做的事情。作为一个程序员,你既是聆听者,又是顾问,既是翻译员,又是专制者。你尝试着捕捉这些难以捉摸的需求,用一种方法来描述它们,让一台纯粹的机器能够合理的处理它们。你尝试着记录你的工作,以使他人能够理解它;你还尝试着策划你的工作,以使他人能够在上面构建。另外,你尝试着在项目时钟的冷酷地催逼下完成这些工作。你每天都在创造小奇迹。
这是一个困难的工作。
很多人声称要给你提供帮助。工具供应商吹捧他们的产品所展现出来的奇迹。方法学大师承诺他们的技术保证有效。每个人都声称他们的编程语言是最好的,而每个操作系统都是这些问题的可信赖的解答。
当然,这些都不是真的。没有这么简单的答案。不存最好的解决方案,无论是工具,语言,或者一个操作系统。而存在的只是在某些特定的环境下更为合适的系统。
这就是务实的开始。你不应该局限于任何特定的技术,而是应该拥有足够宽广的背景和经验基础来为特定的情况选择一种好的解决方案。你的背景源自于对计算机科学基本原则的理解,你的经验来自于广泛的实际项目。理论与实践的结合使你变得强大。
你调整方法来适应当前的情形与环境。你判断这些所有因素中相对重要的因素来影响项目,使用你的经验来制作适合的解决方案。你随着工作的进展持续着这些活动。
务实的程序员不仅要完成工作,而且要做的漂亮。