### (做什么) needle_source 中增加一个cmp()函数,用于比较两个needle_source,需要考虑needle_id为None的情况。 ### (为什么要做) 虽然在ec中不存在一个needle_id为None的needle_source,但是考虑到needle_source是放在pykit中的,作为基础库的一部分,有必要考虑needle_id为None的情况,基础库中的东西不能完全依赖于ec ### (实现思路) 考虑needle_id为None的情况需要考虑None为-INF和INF的情况,两种不同的情况和needle_id的比较值会不一样