《RobustPython》译者序
译者序,第⼀篇
姚⽂杰 凯捷咨询数字化团队架构师
编写好代码
“如何编写⼀段好代码”,我经常被问到这样的问题。写了这么多年代码,我⼼中仍然没有⼀个标准答案。但是,我清楚的知道,什么样的代码是被⼈诟病的烂代码:只能⾃⼰看懂甚⾄过段时间⾃⼰都看不懂的命名、牵⼀发⽽毁全⾝的神秘逻辑、读起来就像⾏⾛于盗梦空间⼀样的各种嵌套,如此等等。它们的产⽣⼀般都有⼀个共同原因:即我们习惯着眼于现在⽽⾮未来。实现眼前的功能是⼤部分开发⼯作的第⼀要务,但是⾯向未来的思考往往能成就好的代码。
在我的职业⽣涯中,接触过不少编程语⾔,回顾这些经历和经验,我发现语⾔或者⼯具并不是影响⼀个项⽬能否成功的关键,更在于开发者的意识。
意识,包含编码习惯、设计风格、基于未来的思考等等,这些都深刻影响着这段代码的命运。这段代码可能平淡⽆奇,可能被⼈赞叹,也可能遭⼈唾弃。但是没错,它的优劣完全由创造者 ——我们来掌握。本书虽然基于Python,却道出了很多编码过程中值得学习和应⽤的实践。换句话说,它不是在教我们如
何⽤Python做完⼀个功能,⽽是在讲述如何做好⼀个复杂项⽬的故事和经验。
Pytho n的进退
“⼈⽣苦短,我⽤Python”,活跃在各⼤Python社区的这句名⾔,道出了Python语⾔很多优点。作为⼀门动态解释性语⾔,Python简洁、优雅、容易上⼿,⼀直是众多编程爱好者喜爱的编程语⾔之⼀。但是往往也是因为这些“优点”,很多开发者都容易在Python的⼤型项⽬中“放飞⾃我”,如果我们仅仅关注于利⽤Python提供的⽅便⼯具或者丰富的库来快速实现功能,不注重代码本⾝的质量和可维护性,随着时间的推移,这些本来写起来顺风顺⽔的代码在将来会变成⼀堆别⼈不想触碰的“垃圾⼭”。这也是业界对Python诟病最⼤的地⽅,因为它和其他同为强类型的语⾔(⽐如Java 、C#)相⽐,缺乏了太多限制,这就让它显得更加脆弱,编写⼩型的⼯具或者库可能表现不明显,⼀旦Python⽤于⼤型的⼯程项⽬,很多⼈都会望⽽却步。这也是为什么我们很难看到Python⼤规模应⽤到国内很多企业和⼤型项⽬中的原因。
然⽽,这并不意味着Python不够强⼤,换句话说,Python作为灵活的强类型语⾔也可以长久健壮的存活在⼤型复杂项⽬中。本书在使⽤
Python3的条件下,论证了这⼀观点,并基于代码实践从各个⾓度来告诉⼤家如何编写⾯向未来的Python代码,以及如何优雅、合理地实现代码的健壮性。
关于本书内容
本次⾮常有幸与另外三位同事凌锐、周伟、凌云⼀起翻译本书,内容以四个部分分享了如何编写健壮Python代码:
python新手代码及作用1. 类型注释,其类型检查如何在保证健壮性的⼯作中扮演重要⾓⾊
2. ⾃定义类型,⽤⾯向对象的思维,增加代码的健壮性
3. 可扩展性,借助⼀些设计思想和常见架构,进⼀步提升代码质量
4. 安全⽹,⽤静态检查和测试完善整个代码的安全⽹
读者得以从四个不同的⾓度,了解各种Python技巧。借助其中的例⼦,也可以培养软件从业者编写良好代码(不只是Python)的意识。
作为⼀名接触Python语⾔、OOP以及敏捷技术实践多年的架构师、开发者,我个⼈也从中学习到了很多Python的技巧和建议。希望阅读此书的读者都能有所收获,并能够将其中⼀些做法或者思想应⽤到⾃⼰的职业⽣涯或者编码⼯作中。
共勉与致谢
“时⼈不识凌云⽊, 直待凌云始道⾼”,这些保证/增强代码健壮性的做法往往在⼀开始并不会彰显它的魅⼒,但只要你坚持做正确的事情,它的作⽤和影响便⼀定会在⽇后慢慢凸显。
“不积跬步,⽆以⾄千⾥”,希望⼤家不仅在编程过程中,⽽且在⾃⼰的学习⽣活过程中,同样能够保持追求完美、持续改进,从⽇常中积累,从细微处成长,早⽇实现⾃⼰⼯作和⽣活中的每⼀个⽬标。与君共勉!
感谢家⼈、朋友对我繁忙项⽬之余翻译⼯作的⽆条件⽀持,你们的陪伴和⿎励⼀直是我前⾏的动⼒。
最后再次感谢各位的阅读。翻译过程难免有差漏,欢迎⼤家多提宝贵意见和反馈,以助于本书译本的后期改善。
译者⼿记,第⼀篇
周伟 凯捷咨询数字化团队资深项⽬经理
市场上讲Python编程的书籍很多,许多开发⼈员只接触了Python语⾔的表⾯,⽽没有深⼊学习编写Python的所有⼯具和技巧。通过本书,你将学会如何更好地使⽤Python;你将接触到许多使得Python整洁并可维护的⽅法;你未来的维护者也将会喜爱并使⽤你写出的每段代码,因为它是预先“精⼼设计”的。本书不只是编程的参考书,更是便于和公司或组织内的开发⼈员⼀起探讨如何最好地应⽤这些
编程原则的指南。
这本书的翻译⼯作从21年7⽉到22年3⽉历时9个多⽉的时间,期间因为承接了规模庞⼤⽽复杂的项⽬以及在客户现场⼯作等原因导致翻译⼯作只能持续⽽缓慢的进⾏,感谢⼏位伙伴的理解和⽀持。此外,我的⼉⼦也在学习Python的课程,也希望借翻译此书的过程加深对于Python的理解并能和⼉⼦共同学习。感谢我的妻⼦对于我翻译⼯作的⽀持,并把此书作为⼀周年的⽣⽇礼物送给我的⼥⼉。
最后,祝读者们享受Python的编程实践之旅!
译者⼿记,第⼆篇
梁凌锐 凯捷咨询数字化团队敏捷咨询顾问
我们都知道Python是⼀门语法简单、设计优雅的语⾔,“低门槛”和“易⽤”这两个特点造就了它活跃的⽣态,进⽽使它拥有了⼤量库和语法糖,是编程零基础选⼿快速⼊门的不⼆之选。
但与此同时,作为Python语⾔的使⽤者和软件交付咨询师,我深知我们不能因为⼿⾥有把好的砍柴⼑就对危机四伏的软件世界掉以轻⼼甚⾄洋洋得意。软件⼯程所要应对的根本问题并不会凭空消失,很庆幸有Patrick Viafore这样务实的技术作者能深⼊浅出地给软件从业者分享写出好代码的原则、⽅法与⼯具,因此这本书也同样适⽤于使⽤其他编程语⾔的读者。
⾮常感谢能有机会阅读并翻译这本好书,书中关于类型和测试的解读让我格外印象深刻,这些思考⼀定会对我的职业⽣涯产⽣深远的影响。希望读完本书的你和我⼀样,能在今后的⼯作中更畅快地感叹:“⼈⽣苦短,我⽤Python”。开卷有益,谢谢阅读。
译者⼿记,第三篇
杨凌云 凯捷咨询北⽅测试团队负责⼈
Python是⼀门简单易学并且功能⾮常强⼤的编程语⾔,所以即使你是编程新⼿,也可以通过⾃学很快上⼿。但是随着软件系统变得越来越复杂,仅仅接触到python的表⾯是远远不够的,否则软件系统会因为膨胀⽽变得脆弱。因此,深⼊学习编写健壮Python的所有⼯具和技巧是⾮常重要的。本书适⽤于有⼀定经验的读者,也涵盖许多⾼级Python主题,但⽬的不仅仅是为了让读者会使⽤这些特性,⽽是基于这些特性去讨论你的选择会对代码的可维护性产⽣哪些影响。
⾮常荣幸能够有机会翻译这本书,也感谢凯捷龙腾⽣刘⼩雪、张婕对我们的⽀持,在我繁忙的时候共同承担了很多校对⼯作。“读万卷书,⾏万⾥路”,希望⼤家的编程之旅更加精彩。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论