最近一月以较高的强度自己写项目,除了硬件和sdk的坑之外,属实是被各种坑掉了不少时间。
一坑:对象赋值
python中赋值对象时,例如a=Person(); b=a
时,b只是个a的指针,我实在没发现这种设定有p用。除了对象,列表、np.array等都会有这种问题。当给a修改值时,b也变了,一旦结合其他bug同时出现,事情会变得极其复杂离谱。
二坑:=与==
这俩符号意思不用多说,但是我们在默读代码时,通常都会用中文中的“等于”,毕竟中文中“等于”既可以用于判断也可以赋值,所以这两者的使用错误在中国人更不容易发现,比起英文'与中文‘的差别还小,至少这种问题IDE都会提醒,而赋值变成判断之后完全正常运行。建议改变后者的读法,如“相等”。千万不要混为一谈。
虽然这种错误一般很少犯,但一旦第一眼没发现,再要发现就很困难。
代码尽量不要复制,真是被坑惨了。
以上这些bug都是很难发现的,而且若一个小时乃至更久没查出bug,这种挫败感会让整个人的精神消耗殆尽,效率变得低下,接下来会花费更多的时间而且还一无所获。
网友评论