1.类成员私有,方法访问
2.类功能要单一,每个功能分配个类,方便管理与扩展
3.函数参数、返回的指针,判空操作
4.指针不可连续指向,每指向一个指针,先进行判空操作,再指向下一个。
5.端口,地址,连接数目等固定值读取配置文件获得。(需要改变时也无需改动代码)
7.客户端服务器之间收发消息
两种方法:
(1) 为每种消息指定格式,按照指定格式解析
(2) 为每种消息定义一个类,实现收/发方法
8.发消息(写一个底层buffer,包含消息数组中元素的个数,buffer装内容,最后,消息类发送该buffer)
9.重复代码抽离成函数
10.枚举第一个元素习惯性设置为0
11.客户端向服务器发送请求消息
两种方法:(无论错误与否都回复请求内容,只不过,成功时编写内容,反之内容为空)
(1) 无论客户端请求什么,先回复错误编号,再使用另一消息类型发送请求内容,让客户端解析。
(2) 无论客户端请求什么,先回复错误编号,再继续发送请求内容,让客户端解析。
12.定义错误编号文件,根据不同情况回复不同编号,另一方可以switch解析错误编号,然后显示相应错误提示
13.方法失败打印LOG
14.逻辑线程和UI线程通信不可使一方阻塞,逻辑线程把消息放入消息链表,UI线程从消息链表取消息
15.数组索引取值,进行索引判断
16.模块之间避免逻辑处理,接口单一