在项目上
1.去除项目中所有的warning,warning代表程序有不稳定的地方,极有可能产生bug。
2.单个类的代码不要超过500行,单个函数的代码不要超过50行,如果超过了肯定能做抽象。
3.去除无用的注释,影响阅读。
4.提交到svn或者git的代码里面不要出现无意义的log。
5.减少全局变量的使用,避免全局变量污染。
6.给每个项目文件加前缀区分。
7.去除空方法,会开辟无用的地址。
在技术上
1.在序列化JS对象的时候要判断data是否为空,不然会引起crash。
//data should not nil
id result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
id data = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingSortedKeys error:nil];
2.在addObserver后一定要removeObserver,一般可在dealloc去除。
3.如果dealloc没有被调用,则说明该类没有被释放,一般情况下说明有内存泄露,也可作为检查内存泄露工具的思路。
4. 不需要公开的变量尽量使用私有变量。如IBOutlet不需要外部使用,尽量放在.m文件当中。
5.[UIImage imageNamed:]会缓存图片,一般情况下不需要缓存图片,使用[UIImage imageWithContentOfURL:]。
6.把参数转换成NSDictionary的时候要注意里面的string不能为空,否则会crash。
//data should not nil
NSDictionary *params = @{@"id": data};
7.NSNotificationCenter postNotificationName的时候在那个线程post,接收的时候就在那个线程,当需要刷新UI的时候记得要保证回到主线程当中。