首页 > 其他分享 >测试最佳实践以及如何改进您的写作

测试最佳实践以及如何改进您的写作

时间:2023-02-09 23:01:34浏览次数:121  
标签:开发人员 Python 反馈 最佳 写作 测试 日志 hello

本周在我的收件箱中,我收到了一些很好的读者问题。

我会尝试在这里回答他们,以便每个人都能从回复中受益!

提高您作为开发人员的写作水平

我想知道你在这里和很多旧文章中提出的写作要点。我肯定看到了它的价值,但我怎么知道我在进步呢?

我认为保留博客的反馈循环会更容易一些,因为有些读者总是会参与,但是你对如何自我评估他们的写作有什么建议吗?

学会写好是我对开发人员的首要建议。

良好的书面沟通在我们的工作中非常重要。您需要能够与其他工程师交流复杂的技术主题。您还需要能够采用这些想法并为工程以外的受众简化它们。

为了更好地写作,这是我的建议:

  1. 最重要的是,练习。经常写。你不需要写很多,但你应该养成写作的习惯。重复练习是培养写作技能和技巧的关键。
  2. 开一个博客,让你在公共场合写作。没有比直接来自读者的评论和参与更好的反馈了。我认为每个软件开发人员都应该有一个博客。
  3. 在学习写作方面有很棒的资源。如果您以前从未写过或生疏了,书籍、课程等可能会有所帮助。我可以推荐的书籍:Writing WellBird by BirdThe War of Art
  4. 使用结构来帮助指导您的写作。例如,每当我编写新的 Jira 工单或设计文档时,我通常会遵循摘要、背景、提问、详细信息的模式。我并不总是完全遵循结构,但它确实帮助我将写作分成更小的部分,有助于共享上下文并清楚地揭示问题。

希望这有助于入门!

开始测试

这些年来,我从未深入研究过测试。有什么好的入门书或推荐的方法吗?也许只是构建 hello world 并对其进行测试?

这当然是一种方法!我实际上喜欢从小处着手的想法。增量学习是探索任何新主题的最佳方式。

让我们以这个例子来运行一下。

这是一个hello.py包含我的 Python hello world 函数的文件:

def hello():
    return 'Hello world'

我可以创建一个test.py文件来添加我的测试:

import unittest

class TestHello(unittest.TestCase):

    def test_hello(self):
        self.assertEqual(hello(), 'Hello world')

if __name__ == '__main__':
    # This is a helpful way to run tests from the command line
    unittest.main()

我可以从命令行运行测试python test.py

.
----------------------------------------------------------------------
Ran 1 tests in 0.000s

OK

这是我能想到的最简单的单元测试示例!

但是从这里开始,您可以开始扩展您的 hello 功能。

  • 也许您添加了对名称参数的支持
  • 也许你允许用户在命令行上输入他们自己的名字
  • 也许您构建了一个Person类,该类可以包含一个first_namelast_name其他可识别信息
  • first_name + ' ' + last_name如果它们都存在,也许您需要一个函数来连接它们。如果存在,请使用它。否则,使用Hello there默认值。

在每个步骤中,您都可以在编写实际代码以实现功能之前编写功能测试。然后,尝试用您编写的新代码使失败的测试通过。

这本质上是测试驱动开发的基础。

希望这有助于阐明事物。在实际应用程序中,测试从这里变得更加复杂。但是首先编写测试意味着您的目标是可测试代码,这通常是非常好的清洁代码。

作为反馈的可观察性

您是否认为日志记录/可观察性是反馈循环的好策略?

当然,日志是一种反馈形式。您希望让您的监控尽可能紧密地形成反馈回路。特别是当出现问题时。

也就是说,当我在最近的一篇文章中谈到反馈时,我真正指的是在开发功能时的反馈。为此,没有即时的跳动反馈。

运行您的测试、简单脚本或 API 请求,并反复获取有关被测代码的反馈。这里的关键是,在大多数情况下,您只需几分之一秒即可获得反馈。

可观察性需要更多的跑腿工作。向代码中添加新的监视器/日志,将它们发送到(通常)外部服务,登录仪表板以查看日志显示,可能会处理日志延迟。

您也不希望系统中的日志中充斥着各种小的 DEBUG/INFO 级日志,这些日志用于开发人员反馈,但从未被删除。

经验丰富的开发人员的 Python 入门

作为一名经验丰富的开发人员,我应该做些什么好的 python 入门知识?

老实说,官方 Python 文档非常棒。如果您是一位经验丰富的开发人员,我建议您从那里开始。

甚至还有 Python 文档的特定部分供有经验的开发人员学习 Python

我也喜欢Corey Shafer关于 Python的YouTube 视频。他非常擅长干净利落地解释概念,毫不含糊。

更多内容

你有问题要问我吗?可以在评论区留言!

如果你喜欢我的文章,点赞,关注,转发!

标签:开发人员,Python,反馈,最佳,写作,测试,日志,hello
From: https://blog.51cto.com/u_12409319/6047367

相关文章

  • 盘点四种网络性能测试工具
    网络的基本目的是有效地共享资源。利用可靠的网络测试工具建立定期的网络测试对于:了解网络的状态、确保配置更改按预期工作、检测瘫痪网络、提供一流的终端用户体验。那么网......
  • 接口测试工具+drf安装与使用
    drf安装和简单使用#1、安装##安装pipinstalldjangorestframework2、使用#1.settings.py中INSTALLED_APPS=['rest_framework']2.在mod......
  • 发篇随笔测试测试
    测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试发篇随笔测试测试发篇随笔测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试发篇随......
  • 太初电子 PyTorch测试工程师 面经
    1.自我介绍2.用到的测试框架主要有哪些3.主要的语言是什么4.用python写一个二分查找5.加一个装饰器6.content、generator7.unitest、pytest8.new、init的原理9.接......
  • 接口自动化测试逻辑
    接口固定数据检验importjsonimportloggingdefvalidate(rlt,expect):"""结果效验忽略效验:如"address":"pass":paramrlt:dict返回值:p......
  • 虹科分享|对网络进行有效监控的五个最佳实践
    随着向远程工作的转变继续,网络监控变得越来越复杂,云迁移也越来越普遍。当今的网络从核心扩展到边缘再到云,这使得网络可见性对于确保性能和快速解决问题至关重要。但根据EMA......
  • 亚马逊美国站卷帘门UL325标准测试
    卷帘门是以多关节活动的门片串联在一起,在固定的滑道内,以门上方卷轴为中心转动上下的门。卷帘门通常被广泛运用于店铺。卷帘门同墙一样起到水平分隔的作用,它由帘板、座板、导......
  • Dart 运行测试失败 Failed to load xxx: Does not exist
    背景今天写dart,运行测试的时候突然报了个错解决它花了最少半个小时,真坑爹啊!解决方法找到你项目里的pubspec.lock,把test的版本改为1.22.1然后运行dartpubget就可以了......
  • 肖sir____面试课程第2讲_测试流程
    测试流程一、提问方式1、你们公司的测试流程是什么?2、给你需求你会怎么做?3、你讲下工作流程?4、你是如何开展工作的?答案:H模型 =================================......
  • 亚马逊要求UL94防火测试阻燃测试标准及项目
    UL94认证是什么?分几个等级?是如何表示各等级?带电的产品上架亚马逊都需要相关的UL报告,需要有ISO17025资质的实验室出具的测试报告才能正常销售和恢复链接,UL94防火测试则是......