长见识,让大家看看什么是垃圾代码
在以前的文章中,在微信群中,我多次强调,写函数的时候,不要把所有参数放到一个大字典里面作为参数到处传,否则时间久了以后,根本不知道字典里面有哪些数据:
1 | def parse(data): |
上面这样写,对原作者来说确实简单,但是如果代码还有别人来维护,他就根本不知道这个字典里面有哪些数据。必须要一层一层查找调用链,费时费力。
在以前的文章中,在微信群中,我多次强调,写函数的时候,不要把所有参数放到一个大字典里面作为参数到处传,否则时间久了以后,根本不知道字典里面有哪些数据:
1 | def parse(data): |
上面这样写,对原作者来说确实简单,但是如果代码还有别人来维护,他就根本不知道这个字典里面有哪些数据。必须要一层一层查找调用链,费时费力。
我们有时候可能会需要把一个字符串转换成对应的类型。例如,把'123'
转换为int
类型的123
;或者把'3.14'
转成浮点数3.14
。
今天有同学在公众号粉丝群问了这样一个问题:
我的结论是:统计Bug率有意义。但是统计千行代码Bug率没有意义。
我们知道,在Python里面,可以使用input
获取用户的输入。例如:
但有一个问题,如果你什么都不输入,程序会永远卡在这里。有没有什么办法,可以给input
设置超时时间呢?如果用户在一定时间内不输入,就自动使用默认值。
相信大家都知道二分搜索,在一个有序的列表中,使用二分搜索,能够以O(logN)的时间复杂度快速确定目标是不是在列表中。
相信大家都用过浏览器的翻译网页功能,例如对于下图这个英文网页:
一键翻译成中文以后是这样的:
你可能会觉得这个功能很简单,不就是字符串替换吗?那你可以试一试把下面这个HTML片段中的<p>
标签下面的英文翻译成中文。其它标签中的不要改动:
1 | <div> |
在<em>
标签中的datetime
和<span>
标签中的datetime.datetime.now()
不需要翻译。
公司有一个内部博客,大家可以在上面创建自己的账号,然后写文章在全公司分享。昨天这个内部博客开通了API,因此我准备写一个Python程序,把自己公众号文章都搬运上去。