既得利益者的尊严
“有过这样的事吗?”他惊异地笑着说,就像旁听着别人的故事一样。他什么也不记得了。
全然忘却,毫无怨恨,又有什么宽恕之可言呢?无怨的恕,说谎罢了。
我还能希求什么呢?我的心只得沉重着。
现在,故乡的春天又在这异地的空中了,既给我久经逝去的儿时的回忆,而一并也带着无可把握的悲哀。我倒不如躲到肃杀的严冬中去罢,——但是,四面又明明是严冬,正给我非常的寒威和冷气。
“有过这样的事吗?”他惊异地笑着说,就像旁听着别人的故事一样。他什么也不记得了。
全然忘却,毫无怨恨,又有什么宽恕之可言呢?无怨的恕,说谎罢了。
我还能希求什么呢?我的心只得沉重着。
现在,故乡的春天又在这异地的空中了,既给我久经逝去的儿时的回忆,而一并也带着无可把握的悲哀。我倒不如躲到肃杀的严冬中去罢,——但是,四面又明明是严冬,正给我非常的寒威和冷气。
1 | #user nobody; |
在开发过程中,错误、异常的暴露及处理不可避免。
合理地暴露错误和抛出异常,是提升开发效率的一大法门。
潜在的问题对应的修正成本,会随着项目的迭代不断上升;因此,尽早暴露问题,尽早解决问题,是对整个工程的负责。那么在开发过程中,如何尽早的暴露问题,并解决?暴露问题后速度迅速的定位问题,并修正?生产环境中又该作哪些处理?
过去,判断一个字典对象的合法性,采用了下面的方案。有一个很大的缺点就是,数据非法时,想要定位到哪个字段出了问题,这事并不轻松。
1 | + (BOOL)isValidDic:(NSDictionary *)dic |
首先,需要搭建本地环境,参考 PhpStorm 本地调试;核心步骤是配好 IDE 环境以及修改 hosts 文件。
其次,使用单元测试,参考 iOS 测试学习小结;显然,本该一键完成的测试,不应该调出模拟器 / 真机的界面去人工操作。