顶尖测试学思维?跟Google大佬学顶级测试思维!

这篇具有很好参考价值的文章主要介绍了顶尖测试学思维?跟Google大佬学顶级测试思维!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

谷歌员工怎么写 python 代码?

谷歌内部的 python 代码规范

熟悉 python 一般都会努力遵循 pep8 规范,也会有一些公司制定内部的代码规范。大公司制定规范的目的不是说你一定要怎样去使用编程语言,而是让大家遵守同一套规则,节省其他人阅读代码的成本,方便协作和沟通。

对于个人而言,日常编写代码只需要保持风格统一,前后一致,就是一个很大的胜利,然后再加入一些实用的规则,在写代码的时候有效减少可能引入的 bug。

接下来,我截取了一些谷歌的 python 代码规范中一些有意思的要点,希望日后能更深刻的感受到它们的用处。

1,导入模块和包,不导入单独的类、函数或者变量。

这通常能简化导入过程,方便命名空间管理。但是缺点也很明显,当名称较长时,调用函数和类的代码会很长,影响可读性。

# yes
from sound.effects import echo
echo.EchoFilter()

# no
from sound.effects.echo import EchoFilter
EchoFilter()

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

2,从根目录导入,不假定任意的 sys.path,也不使用相对导入。

假设 doctor.who 路径已经被某种手段添加到了 sys.path,也应该从开始的地方导入。

# yes
from doctor.who import jodie

# other than doctor.who is already in sys.path
# no
import jodie

3,谨慎使用异常

使用异常需要注意的细节有:

●  优先合理的使用内置异常类。比如需要正数的情况下传递了一个负数引发的错误,抛出 ValueError 类型。

●  永远不要使用 except 捕获所有的异常,这可能会造成一些隐藏 bug 难于发现。你应该使用特定异常类型分开捕获。

●  不要使用 assert 指示某些意外情况,应该使用 raise。

●  不要在 try 和 except 子句中加入太多逻辑,try 块的体积越大, 期望之外的异常就越容易被触发。

尽量使用正确的内置异常类型:

def division(a, b):
    if b == 0:
        raise ValueError('b can not be zero')

避免全局捕获异常,指定异常类型:

# yes
try:
    1 / 0
    "abc"[100]
except ZeroDivisionError:
    ...
except IndexError:
    ...

# no
try:
    1 / 0
    "abc"[100]
except:
    ...

4,不要使用可变类型作为函数默认值,如果修改了这个变量,默认值也会跟着发生变化。

# yes
def foo(a, b=None):
    if b is None:
        b = []
def foo(a, b: Sequence = ()):

# no
def foo(a, b=[]):
def foo(a, b=time.time()):
def foo(a, b={}):

5,注意条件表达式的隐式布尔值

● 对于序列(字符串, 列表, 元组), 要注意空序列是 False,在判断是否为空序列时,使用隐性的 if not seq 判断,而不用 if len(seq) == 0;

● 判断数字是否为 0,则使用 number == 0,而不使用用 if not number。因为 number 可能设置的是默认值为 None。

● 判断是否为 None 使用 x is None,而不用 not x。

# yes
.if not users: # sequence
if number == 0:
if i % 10 == 0:
def f(x=None):
    if x is None:

# no
if len(users) == 0:
if number is not None and not number:
if not i % 10:
def f(x=None):
    x = x or []

6,谨慎使用装饰器

装饰器可以在函数的参数或返回值上执行任何操作,这可能导致让人惊异的隐藏行为。

而且, 装饰器在导入时执行,从装饰器代码中捕获错误并处理是很困难的。

使用装饰器一定要编写单元测试,并且说明它的作用和使用方法。

装饰器本身不要依赖于任何文件, socket, 数据库连接。避免使用 @staticmedthod 装饰器,多数情况下,将方法封装成模块级的函数可以达到同样的效果。

7,建议使用类型声明,类型声明的好处非常明显:

●  使用类型声明可以提高代码的可读性。

●  也可以使用类型检查工具提早发现问题。

●  使用类型声明之后,doc string 中就没有必要对参数类型进行说明。

●  在编辑器中会根据类型进行代码提示。

但是在实际操作过程中,类型声明往往很难维持。当代码更新完之后,一定要记得更新类型声明,过时的类型声明会对阅读者造成误导。python 的类型声明成本学习成本较高。文章来源地址https://www.toymoban.com/news/detail-666679.html

# yes
name: str = 'yuz'
def func(a: int) -> List[int]:

到了这里,关于顶尖测试学思维?跟Google大佬学顶级测试思维!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023 Google 开发者大会:将大型语言模型部署到你的手机

    在2022年末,不到半年时间,各家大语言模型的发展如雨后春笋,截至2023年9月,全球总共有接近100个大语言模型,可谓是百花齐放 显而易见,大语言模型凭借出色的AI对话能力,已经逐渐深入各个行业 2023 Google 开发者大会带来了 AI 专题,Google 技术推广工程师魏巍提出 “将大

    2024年02月07日
    浏览(46)
  • 【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作

    💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。 📝 CSDN主页:Zeeland🔥 📣 我的博客:Zeeland 📚 Github主页: Undertone0809 (Zeeland) (github.com) 🎉 支持我:点赞👍+收藏⭐️+留言📝 📣 系列专栏:Python系列专栏 🍁 💬介绍:The mixture of software dev+Iot+ml+anything🔥 本文节选

    2023年04月16日
    浏览(43)
  • 程序员必备:顶尖开发工具(IDE)大盘点

    博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接 : 🔗 精选专栏 : 《面试题大全》 — 面试准备的宝典! 《IDEA开发秘籍》 — 提升你的IDEA技能! 《100天精通鸿蒙》 — 从Web/安卓到鸿蒙大师! 《100天精通Golang(基础入门篇)》 — 踏入

    2024年04月14日
    浏览(48)
  • Python速查表;腾讯大佬的AIGC设计应用汇总;这个世界需要10亿开发者;67个最常用AI工具清单 | ShowMeAI日报

    👀 日报周刊合集 | 🎡 生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 随着AIGC浪潮的兴起,越来越多小伙伴尝试着使用 GPT 类工具开发小程序、网页、小游戏等应用,也意识到 Python 编程是绕不过去知识门槛。 推荐一份 ShowMeAI 制作的 Pyhton 速查表,涵盖了 Python 3 编

    2024年02月06日
    浏览(54)
  • 两款顶尖大语言模型Claude2.1和Llama2在Amazon Bedrock正式可用

    在亚马逊云科技2023 re:Invent美国拉斯维加斯现场,亚马逊云科技数据和人工智能副总裁Swami Sivasubramanian宣布了众多在生成式AI领域的发布和创新,其中就包括Anthropic Claude 2.1和Meta Llama 2 70B两款大语言模型已在Amazon Bedrock正式可用。 亚马逊云科技数据和人工智能副总裁Swami Sivas

    2024年02月04日
    浏览(56)
  • 项目风险:测试大佬结合实例告诉你如何应对!

    项目有风险 今天下午15点,团队成员D向他的主管Z反馈他测试的项目有风险:项目在测试周期内,但在用例评审时发现有一处功能逻辑有争议,需要产品经理跟业务方确认,可能出现的情况有: 1 不变更需求,功能逻辑按现有实现处理; 2 需求变更,功能逻辑对应地进行改动

    2024年04月08日
    浏览(45)
  • C语言大佬的必杀技---宏的高级用法

    C语言大佬的必杀技— 宏的高级用法 目录: 字符串化 标记的拼接 宏的嵌套 替换多条语句 防止一个文件被重复包含 宏和函数的区别 可能大家在学习的时候用得比较少,但是在一些代码量比较大的时候,这样使用,可以大大的提高代码的可读性,方便我们后期维护 1、字符串化

    2024年02月07日
    浏览(35)
  • 最好用的七大顶级 API 接口测试工具

    本文首发:最好用的七大顶级 API 接口测试工具 - 卡拉云 【完整版】 现在 API 接口已经成为软件开发重要的组成部分,由于 API 并没有 GUI 图形界面,无法直观的对接口进行测试,所以对于前后端开发来说,找到一套趁手的工具对 API 接口进行测试,了解开发的程序是否符合预

    2024年02月05日
    浏览(58)
  • 2023最全软件测试基础+字节大佬整理的面试笔记(超详细~)

    软件是计算机系统中的程序和相关文件或文档的总称。 说法一:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。 说法二:软件测试就是利用一定的方法对软件的质量或者使用性进行判断和评估的过

    2024年02月09日
    浏览(52)
  • 一文搞懂!最好用的七大顶级 API 接口测试工具

    现在 API 接口已经成为软件开发重要的组成部分,由于 API 并没有 GUI 图形界面,无法直观的对接口进行测试,所以对于前后端开发来说,找到一套趁手的工具对 API 接口进行测试,了解开发的程序是否符合预期十分重要。 面对批量的 API,手动测试变得非常低效,自动化 API 接

    2024年02月15日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包