在IOS项目开发中遇到的问题和和总结
来源:互联网 发布:非线性叙事结构,知乎 编辑:程序博客网 时间:2024/04/26 22:01
总结
六月份毕业,到公司有9个月,参与了三个项目,忽然发现现在做的只是代码的积累和知识点的积累,对自身能力却没有一步步进行打造与提高。
刚来的时候由不会写到现在的会写,这是这半年的成果。下面要实现两个目标:
一,提高代码的质量:
a.代码的书写规范(见下部)
b.提高代码的结构的合理:一,要让代码的结构看起来清晰,对于结构不清晰的代码,不要去打补丁,直接重写。不要图一时省事,增加测试与阅读的负担。
二,要提高代码的灵活与可重用,要去再看看c++的书,理解面向对象编程。
二,加快知识的积累与总结
a,对于项目中常用知识点的总结:一,对于一些常用的知识点,要总结起来,写好小示例,以减少二次使用所花费的时间。
二,对于一些大的知识点,可以写一个Dame,深入理解,可以在需要的时候改进现有代码,在下次使用时,可以有更好的效果。
b,对于意外接触到的知识点:一,对于意外接触到的知识点,要去弄明白它的使用效果,知识点可酌情整理,但要做到心中有数,在将来有需要的时候,能有个切入点。
三,要学习项目管理经验:虽然公司规模较小,项目管理比较混乱。但要注意观察与学习,要将总结的东西在自己身上试验,至少要提高自己所负责模块的规划的合理性。
代码书写规则:
1.项目名:能看出项目功能,可以
2.文件夹管理:项目每个模块要有相应文件夹,公用类要统一归组
3.文件管理:文件命名方式:一,多人合作项目时,可在每个类前加上姓的英文字母_类名(尽量能表明模块,类功能。第一字母小写,每个单词首字母大写)
例:w_rootViewController.h
.h文件规范
含系统名称,功能说明(包含)、软件版本、系统版本、开发人员、开发时间和修改记录等几个部分。
4.代码规范:
类名:*首字母大写
*可以在多个项目中,通用的类加WS开头,特定应用的类则不需要。
例:WSRotateImage
方法名:*方法名首字母小写,且后面的单词以首字母大写形式分隔。
*方法名尽量可以知道意思,名字长点没事
*方法吗有get前缀,避免和变量的getter冲突
变量名:*变量名应能从名称理解变量的含义,首字母小写,后面的单词以首字母大写分隔
*成员变量使用“_”为前缀:例:NSString* _imageName;
常量: *(#define,enums, const等)使用全大写字母
#import VS #include:
*使用#import引入Objective-C和Objective-C++头文件,使用#include引入C或C++头文件
初始化与释放:
*初始化方法中,不要将变量初始化为“0”或“nil”,那是多余的
*初始化时要尽量用alloc和init方法
*创建临时对象时,尽量紧接着就释放(或直接在同一行加autorelease)
*dealloc中释放变量的顺序要和声明的顺序一致(有利于review代码)
*如果dealloc中调用其他方法来release变量,将被release的变量以注释的形式标注清楚
*dealloc的方法放在类实现开始位置,便于修改与查看
其他:
NSString:*NSString类变量的属性,如需保存,应使用“copy”,禁止使用retain,以防止以外修改了NSString的值
delegate:*delegate对象使用assign,禁止使用retain。因为retain会导致循环索引导致内存泄露。
并且此类型的内存泄露无法被Instrument发现,极难调试
- 在IOS项目开发中遇到的问题和和总结
- 在openstack项目中制作ubuntu 和 rhel 时image遇到的问题总结
- IOS开发中遇到的问题总结
- 项目中Angularjs遇到的问题和优化总结
- 项目中Angularjs遇到的问题和优化总结
- 项目中Angularjs遇到的问题和优化总结
- 在sharepoint开发中遇到的一些问题和解决方案
- malloc和free在开发中遇到的问题
- IOS开发遇到的问题和解决方法
- 项目开发、项目管理中遇到的问题总结
- IOS在项目中遇到的问题及解决方案
- 开发中遇到的问题和解决方法
- 总结自己在项目中遇到的问题
- 杂记-讲述在项目中遇到问题的总结
- 项目开发中经常遇到的一些问题总结
- 近期开发项目中遇到的问题,并总结
- android---项目开发中遇到的问题总结
- iOS开发过程中遇到的问题总结
- Java Socket实战之五 使用加密协议传输对象
- ICMP报文校验和的计算及各种网络报文结构
- cocos2d-x显示中文,方法(1)
- Python装饰器:简单装饰,带参数装饰与类装饰器
- Android学习之Handler的使用
- 在IOS项目开发中遇到的问题和和总结
- 如何让secureCRT显示Linux的颜色
- 中英文数字字符等混合字符串精确测量字符大小并两种方式绘制比较
- 【Oracle】关于null的讨论
- 一个基本的、标准的c++程序
- Hibernate学习笔记——hibernate实体映射
- 招聘信息大围观
- 如何让discuz论坛首页打开不显示forum.php的方法分享
- 【java】统计一篇英文文章每个字母出现的次数