草庐IT

3年测试越来越迷茫... 技术跟不上接下来是不是要被淘汰了?

这两天和朋友聊到了软件测试的发展:这一行的变化确实蛮大,从开始最基础的功能测试,到现在自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试岗位需求逐渐增多。我也在软件测试这行摸爬滚打有些日子了,正好有朋友问我:如何快速成为互联网时代优秀的测试工程师呢?趁着最近终于有了些闲余时间,遂总结了下自动化测试的成长线路图和职业必备技能,希望可以帮助各位少走弯路、破茧成蝶、迈向成功。下面我来分享下我的自动化测试经验及发展方向,或许能帮助你解决很多工作中的迷惑。一、技术型路线发展方向1、自动化测试工程师自动化测试工程师细分可以有UI自动化测试工程师,APP自动化测试工程师、接口自动化测试工程师等等。那

python - 使用内置函数名称作为属性或方法标识符是不好的做法吗?

我知道永远不要使用内置函数名称作为变量标识符。但是有什么理由不将它们用作属性或方法标识符?比如写my_object.id=5,或者在自己的类中定义实例方法dict安全吗? 最佳答案 它不会混淆解释器,但可能会使阅读您的代码的人感到困惑。应避免对属性和方法不必要地使用内置名称。另一个不良影响是,在大多数支持python的编辑器(vi、emacs、pydev、idle等)中,内置阴影会混淆语法高亮。此外,一些lint工具会警告这种做法。 关于python-使用内置函数名称作为属性或方法标识符

python - 使用内置函数名称作为属性或方法标识符是不好的做法吗?

我知道永远不要使用内置函数名称作为变量标识符。但是有什么理由不将它们用作属性或方法标识符?比如写my_object.id=5,或者在自己的类中定义实例方法dict安全吗? 最佳答案 它不会混淆解释器,但可能会使阅读您的代码的人感到困惑。应避免对属性和方法不必要地使用内置名称。另一个不良影响是,在大多数支持python的编辑器(vi、emacs、pydev、idle等)中,内置阴影会混淆语法高亮。此外,一些lint工具会警告这种做法。 关于python-使用内置函数名称作为属性或方法标识符

python - 为什么 Python 字符串是不可变的?使用它们的最佳实践

让Python字符串不可变的设计原因是什么?它如何让编程变得更容易?我习惯于可变字符串,比如C语言中的字符串。如果没有可变字符串,我应该如何编程?有什么最佳做法吗? 最佳答案 当您收到一个字符串时,您会确保它保持不变。假设您使用字符串参数构造如下Foo,然后修改字符串;那么Foo的名字会突然改变:classFoo(object):def__init__(self,name):self.name=namename="Hello"foo=Foo(name)name[0]="J"对于可变字符串,您必须一直进行复制以防止坏事发生。它还允许单

python - 为什么 Python 字符串是不可变的?使用它们的最佳实践

让Python字符串不可变的设计原因是什么?它如何让编程变得更容易?我习惯于可变字符串,比如C语言中的字符串。如果没有可变字符串,我应该如何编程?有什么最佳做法吗? 最佳答案 当您收到一个字符串时,您会确保它保持不变。假设您使用字符串参数构造如下Foo,然后修改字符串;那么Foo的名字会突然改变:classFoo(object):def__init__(self,name):self.name=namename="Hello"foo=Foo(name)name[0]="J"对于可变字符串,您必须一直进行复制以防止坏事发生。它还允许单

python - 为什么 python 字符串和元组是不可变的?

我不确定为什么字符串和元组是不可变的;使它们不可变的优点和缺点是什么? 最佳答案 想象一种名为FakeMutablePython的语言,您可以在其中使用列表赋值等方式更改字符串(例如mystr[0]='a')a="abc"这会在内存地址0x1中创建一个条目,其中包含“abc”,以及指向它的标识符a。现在,说你愿意..b=a这将创建标识符b并将其指向相同的内存地址0x1现在,如果字符串是可变的,并且您更改b:b[0]='z'这会将存储在0x1的字符串的第一个字节更改为z..由于标识符a指向此处,因此该字符串也会更改,因此..print

python - 为什么 python 字符串和元组是不可变的?

我不确定为什么字符串和元组是不可变的;使它们不可变的优点和缺点是什么? 最佳答案 想象一种名为FakeMutablePython的语言,您可以在其中使用列表赋值等方式更改字符串(例如mystr[0]='a')a="abc"这会在内存地址0x1中创建一个条目,其中包含“abc”,以及指向它的标识符a。现在,说你愿意..b=a这将创建标识符b并将其指向相同的内存地址0x1现在,如果字符串是可变的,并且您更改b:b[0]='z'这会将存储在0x1的字符串的第一个字节更改为z..由于标识符a指向此处,因此该字符串也会更改,因此..print

Python:在 __init__ 中引发异常是不好的形式吗?

在__init__中引发异常是否被认为是不好的形式?如果是这样,那么当某些类变量初始化为None或类型不正确时,可接受的引发错误的方法是什么? 最佳答案 在__init__()中引发异常绝对没问题。没有其他好的方法可以在初始化程序中指示错误情况,并且标准库中有数百个初始化对象可能引发异常的示例。当然,要引发的错误等级取决于您。ValueError如果初始值设定项传递了无效参数,则最好。 关于Python:在__init__中引发异常是不好的形式吗?,我们在StackOverflow上找到

Python:在 __init__ 中引发异常是不好的形式吗?

在__init__中引发异常是否被认为是不好的形式?如果是这样,那么当某些类变量初始化为None或类型不正确时,可接受的引发错误的方法是什么? 最佳答案 在__init__()中引发异常绝对没问题。没有其他好的方法可以在初始化程序中指示错误情况,并且标准库中有数百个初始化对象可能引发异常的示例。当然,要引发的错误等级取决于您。ValueError如果初始值设定项传递了无效参数,则最好。 关于Python:在__init__中引发异常是不好的形式吗?,我们在StackOverflow上找到

java - 所有原始包装类都是不可变对象(immutable对象)吗?

Java中的所有原始包装类都是不可变对象(immutable对象)吗?字符串是不可变的。其他不可变对象(immutable对象)是什么? 最佳答案 任何不给您任何方法来更改其中数据的类型都是不可变的-就这么简单。是的,所有原始包装器类型都是不可变的1,String也是如此。UUID,URL和URI是其他例子。虽然内置JavaAPI中的Calendar和Date是可变的,但JodaTime中的许多类型是不可变的-在我看来,这是JodaTime更易于使用的一个原因。如果一个对象是不可变的,您可以在代码中的其他位置保留对它的引用,而不必担