猜你喜欢
健壮的Python

健壮的Python

书籍作者:帕特里克·维亚福尔 ISBN:9787111721444
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4494
创建日期:2024-03-22 发布日期:2024-03-22
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
你的Python项目是否正在变得越来越庞大?随着代码的扩展,调试和维护工作变得更加艰难,你是否感到痛苦?Python是一种容易学习和使用的语言,但这也意味着系统可以迅速发展到无法理解的程度。值得庆幸的是,Python具有帮助开发者克服可维护性困境的功能。
在这本实用的书中,作者Patrick Viafore将告诉你如何大限度地使用 Python的类型系统。你将看到用户定义的类型(如类和枚举),以及Python的类型提示系统。你还将学习如何使Python代码具有可扩展性,以及如何基于一个全面的测试策略构建安全网。利用这些知识和技术,你将编写更清晰、更易于维护的代码。

通过学习本书,你将:
*了解为什么类型在现代开发生态系统中是必不可少的。
*了解类、字典和枚举等类型选择是如何反映特定意图的。
*在不加剧臃肿的情况下使Python代码在未来可扩展。
*使用流行的Python工具来提高代码库的安全性和健壮性。
*评估当前的代码以检测常见的可维护性问题。
*通过linter和测试构建代码库的安全网。
作者简介
Patrick Viafore在关键任务软件领域有超过14年的工作经验,专业方向涉及雷电检测、电信和操作系统。他通过开发管道和工具,将Ubuntu镜像部署到公有云供应商,并通过Kudzera有限责任公司进行软件咨询和项目承包(他是这家公司的负责人)。他的目标是使计算机科学以及软件工程主题对开发者社区来说更加容易理解。
编辑推荐
适读人群 :有一定Python编程经验的开发人员
你的Python项目是否正在变得越来越庞大?随着代码的扩展,调试和维护工作变得更加艰难,你是否感到痛苦?Python是一种容易学习和使用的语言,但这也意味着系统可以迅速发展到无法理解的程度。值得庆幸的是,Python具有帮助开发者克服可维护性困境的功能。
在这本实用的书中,作者Patrick Viafore告诉你如何大限度地使用 Python的类型系统。你会看到用户定义的类型(如类和枚举),以及Python的类型提示系统。你还将学习如何使Python代码具有可扩展性,以及如何基于一个全面的测试策略构建安全网。利用这些知识和技术,你将编写更清晰、更易于维护的代码。

通过阅读本书,你将:
? 了解为什么类型在现代开发生态系统中是必不可少的。
? 了解类、字典和枚举等类型选择是如何反映特定意图的。
? 在不加剧臃肿的情况下使Python代码在未来具有可扩展性。
? 使用流行的Python工具来提高代码库的安全性和健壮性。
? 评估当前的代码以检测常见的可维护性问题。
? 通过linter和测试在你的代码周围构建安全网。
前言

译者序
编写好代码
“如何编写一段好代码?”我经常被问到这样的问题。写了这么多年代码,我心中仍然没有一个标准答案。但是,我清楚地知道,什么样的代码是被人诟病的“烂代码”:只能自己看懂甚至过段时间自己都看不懂的命名,牵一发而毁全身的神秘逻辑,读起来就像行走于盗梦空间一样的各种嵌套,等等。它们的产生一般都有一个共同原因:习惯着眼于现在而非未来。实现眼前的功能是大部分开发工作的第一要务,但是面向未来的思考往往能成就好的代码。
在职业生涯中,我接触过不少编程语言,回顾这些经历和经验,我发现语言或者工具并不是影响项目成功的关键,关键更在于开发者的意识。
意识,包含编码习惯、设计风格、基于未来的思考等,这些都深刻影响着一段代码的命运。这段代码可能平淡无奇,可能被人赞叹,也可能遭人唾弃。但是没错,它的优劣完全由创造者来掌握。本书虽然基于Python,却道出了很多编码过程中值得学习和应用的实践。换句话说,它不是在教我们如何用Python完成一个功能,而是在分享做好一个复杂项目的经验。
Python的进退
“人生苦短,我用Python”这句活跃在各大Python社区的名言,道出了Python语言的地位。作为一门动态解释性语言,Python简洁、优雅、容易上手,一直是众多编程爱好者喜爱的编程语言之一。但是往往也是因为这些“优点”,很多开发者都容易在Python的大型项目中“放飞自我”,如果我们仅仅关注利用Python提供的方便工具或者丰富的库来快速实现功能,不注重代码本身的质量和可维护性,那么随着时间的推移,这些本来写起来顺风顺水的代码在将来会变成一堆别人不想触碰的“垃圾山”。这也是业界对Python诟病多的地方,因为它和其他同为强类型的语言(比如Java、C#)相比,缺乏了太多限制,这就让它显得更加脆弱,编写小型的工具或者库时可能表现不明显,可一旦用于大型的工程项目,很多人都会望而却步。这也是我们很难看到Python大规模应用到国内很多企业和大型项目中的原因。
然而,这并不意味着Python不够强大,换句话说,Python作为灵活的强类型语言也可以长久健壮地应用在大型复杂项目中。本书基于Python 3论证了这一观点,并通过代码实践从各个角度来告诉大家如何编写面向未来的Python代码,以及如何优雅、合理地实现代码的健壮性。
关于本书内容
本次非常有幸与三位同事周伟、凌锐、凌云一起翻译本书。本书通过四个部分分享了如何编写健壮Python代码:
第一部分“为代码添加类型注解”。介绍类型检查如何在保证健壮性的工作中扮演重要角色。
第二部分“定义你自己的类型”。用面向对象的思维增加代码的健壮性。
第三部分“可扩展的Python”。借助一些设计思想和常见架构,进一步提升代码质量。
第四部分“构建安全网”。用静态检查和测试完善整个代码的安全网。
读者得以从四个不同的角度了解各种Python技巧,并借助其中的例子加强“编写良好代码”(不只是Python)的意识。
作为一名接触Python语言、OOP以及敏捷技术实践多年的架构师及开发者,我个人也从中学到了很多Python的技巧。希望阅读此书的读者都能有所收获,并能够将其中一些做法或者思想应用到自己的职业生涯或者编码工作中。
共勉与致谢
“时人不识凌云木, 直待凌云始道高。”这些保证/增强代码健壮性的做法往往在一开始并不会彰显它的魅力,但只要你坚持做正确的事情,它的作用和影响便一定会在日后慢慢凸显。
“不积跬步,无以至千里。”希望大家不仅在编程过程中能够保持追求完美、持续改进的习惯,而且在自己的学习生活过程中同样能够如此。从日常中积累,从细微处成长,早日实现自己工作和生活中的每一个目标。与君共勉!
感谢家人、朋友对我繁忙工作之余翻译本书的无条件支持,他们的陪伴和鼓励一直是我前行的动力。同时特别感谢刘小雪、张婕、金余等朋友在本书翻译过程中给予的支持与帮助。
后再次感谢各位的阅读。翻译过程难免有错漏,欢迎大家多提宝贵意见,以助本书译本的后期改善。
姚文杰
凯捷咨询数字化团队架构师
市场上介绍Python编程的书籍很多,许多开发人员只接触了Python语言的表面,而没有深入学习Python编程的所有工具和技巧。通过阅读本书,你将学会如何更好地使用Python,你将接触许多使得Python整洁并可维护的方法。这样,未来的维护者也将会喜爱并使用你写出的每段代码,因为它是预先“精心设计”的。本书不只是编程的参考书,更是便于与公司和组织内的开发人员一起探讨如何好地应用这些编程原则的指南。
本书的翻译工作历时9个多月,其间因为承接了规模庞大而复杂的项目以及在客户现场工作等,导致翻译工作进展缓慢,感谢几位伙伴的理解和支持。此外,我的儿子也在学习Python的课程,我也希望借翻译此书的过程加深对Python的理解并能和儿子共同学习。感谢我的妻子对翻译工作的支持,也很高兴能把此书作为一周岁的生日礼物送给我的女儿。
后,祝读者享受Python的编程实践之旅!
周伟
凯捷咨询数字化团队资深项目经理
我们都知道Python是一门语法简单、设计优雅的语言,“低门槛”和“易用”这两个特点造就了它活跃的生态,进而使它拥有了大量库和语法糖,并成为编程零基础选手快速入门的不二之选。
但与此同时,作为Python语言的使用者和软件交付咨询师,我深知我们不能因为手里有把好的砍柴刀就对危机四伏的软件世界掉以轻心甚至洋洋得意。软件工程所要应对的根本问题并不会凭空消失,很庆幸有Patrick Viafore这样务实的技术作者能深入浅出地给软件从业者分享写出好代码的原则、方法与工具,因此本书也同样适用于使用其他编程语言的读者。
非常感谢能有机会阅读并翻译这本好书,书中关于类型和测试的解读让我格外印象深刻,这些思考一定会对我的职业生涯产生深远的影响。希望读完本书的你和我一样,能在今后的工作中更畅快地感叹:“人生苦短,我用Python。”开卷有益,谢谢阅读。
梁凌锐
凯捷咨询数字化团队敏捷咨询顾问
Python是一门简单易学并且功能非常强大的编程语言,所以即使你是编程新手,也可以通过自学很快上手。但是随着软件系统变得越来越复杂,仅仅接触Python的表面是远远不够的,否则软件系统会因为膨胀而变得脆弱。因此,深入学习编写健壮的Python代码所需的所有工具和技巧是非常重要的。本书适用于有一定Python编程经验的读者,涵盖许多高级Python特性,但目的不仅仅是让读者会使用这些特性,而是基于这些特性去讨论你的选择会对代码的可维护性产生哪些影响。
非常荣幸能够有机会翻译这本书,读万卷书,行万里路,希望大家的编程之旅更加精彩。
杨凌云
凯捷咨询北方测试团队负责人

短评

“健壮的Python”具体指什么? 通常来说,编写“健壮”的Python代码需要考虑以下几个方面: 1. 异常处理:Python具有强大的异常处理机制,编写健壮的Python代码需要充分利用这一机制,对可能出现的异常情况进行处理。 2. 输入验证:在编写Python代码时,需要进行输入验证,以确保输入的数据符合预期,并避免潜在的漏洞和错误。 3. 代码鲁棒性:编写健壮的Python代码需要注意代码的鲁棒性,确保代码能够在不同的情况下都能正常工作。 4. 内存管理:Python具有自动内存管理机制,但是在处理大型数据集合时,需要特别注意内存管理,避免出现内存泄漏等问题。 5. 效率优化:Python是一门解释型语言,其效率较低,需要进行一定的优化,以提高程序的运行速度。 总之,编写健壮的Python代码需要综合考虑以上几点,以确保编写的代码能够运行稳定、安全、高效。

2023-04-03 10:10:54

健壮的Python是指Python代码能够处理各种输入和应对各种异常情况,在程序运行过程中不会因为错误导致崩溃或出现不可预料的错误。 编写健壮的Python代码需要遵循一些最佳实践,如: 1.使用异常处理:编写Python代码时,应该考虑可能出现的异常情况,并在代码中捕捉这些异常。可以使用try-except语句来捕捉异常,并在出现异常时进行处理。 2.增加代码注释:在Python代码中增加注释可以帮助其他人理解你的代码,并降低出错的概率。注释应该清晰明确,阐述代码的目的和作用。 3.测试代码:在编写代码时,应该编写测试用例来验证代码的正确性和可靠性。对于大型的项目,可以使用自动化测试工具。 4.使用模块和包:使用模块和包可以使代码更加简洁和易于管理,同时也可以提高代码的可重用性和可维护性。 5.优化代码:利用Python提供的工具和技术,可以对代码进行优化,以提高代码执行的效率和性能。 总之,编写健壮的Python代码是一项良好的编程习惯,它可以使代码更加可靠、易于维护,同时也可以提高代码的可重用性和可扩展性。

2023-04-03 10:10:54

我作为AI语言模型,无法评价Python的健壮性,但是一般来说Python被认为是一种相对健壮的编程语言。Python具有非常丰富的标准库,可以方便地实现各种常见的任务,而且它还有很多第三方库,可以实现更加复杂的任务。Python还有一个活跃的社区,可以提供广泛的支持和解决问题的方法。同时,Python也有着优秀的工具链和易于阅读的语法,这使得它非常适合快速开发和维护代码。

2023-04-03 10:10:54