1
lovedboy 2015-12-21 10:54:10 +08:00
这就是动态类型一时爽的后果....233
|
2
garfieldWu 2015-12-21 11:01:21 +08:00
定义属性的时候一定要写对单词,再把拼写错误的提示色弄的醒目一点, PyCharm 有拼写检查,这样在写代码的时候一拼错属性名就能检查到。这能「迫使」你写出正确的属性名。
|
3
est 2015-12-21 11:02:23 +08:00
写错还好。有的时候自己想了个方法结果把父类的给覆盖了。弄死找不到出错的原因。
|
4
windfarer 2015-12-21 11:07:16 +08:00 via Android
多测试嘛
|
5
restran OP @est 这个也很悲剧,另外一个就是相对导入和绝对导入的问题,系统有个包名文件跟项目里的一个文件名一样,结果就导入错误的包了。
|
6
restran OP @garfieldWu 藏得比较深的 PyCharm 就检查不出来了~
|
9
BOYPT 2015-12-21 11:43:17 +08:00
这跟静态动态还有关系?
你的 C 语言写 printf("hello wlord")然后不能通过,这时候要怪谁呢 |
10
codecrash 2015-12-21 12:10:54 +08:00 via Android
自动补全会不会就不出错了
|
11
FrankFang128 2015-12-21 12:21:16 +08:00 via Android
python :你写错了怪我咯?
|
13
restran OP @BOYPT 你可能理解错我想表达的意思了,这种错误,静态语言在编译的时候就过不了,但是 Python 是执行的时候才报错。
|
15
incompatible 2015-12-21 14:58:49 +08:00
除了多写测试用例和 Code Review 外,还可以改用 Java
|
16
mailto1587 2015-12-21 15:09:45 +08:00
用 TDD ,稍微注重下测试覆盖率, AttributeError 很容易暴露
|
17
pynix 2015-12-21 15:15:56 +08:00
覆盖。。
|
18
BOYPT 2015-12-21 15:38:42 +08:00
@restran 没理解错,但是编译过程并不是用来给你拼写检查的,编译方法名出错充其量算是一个 side effect 。所以我举例,在字符串里面的拼写错误还能怪谁呢?
所以,不能依赖编译差错,而应该从测试、开发过程比如 TDD 来减少错误。 |
20
siteshen 2015-12-21 16:13:29 +08:00 1
拼写正确+自动补全+代码写完最少跑一遍检查结果。
|
21
aisk 2015-12-21 16:33:20 +08:00 1
藏的深的 lint 工具照样也能检查出来,除非你滥用 dict 了。
|
22
flowfire 2015-12-21 16:54:40 +08:00 1
define defien define
define flase false define ture true |