1.首先,整个项目架构要清楚,这样才知道从哪里来到哪里去,需要达到什么效果。然后要用什么技术,要知道技术原理。
2.如果要参考开源代码,浏览一下说明,可以的话就拉下来跑一下,前提是自己要跑通,因为要确保这个代码没问题。可以多找几个,看看哪个更适合。
3.然后自己写代码,首先项目架构确定清楚,建哪些包,包里面对应写设计的哪部分代码(那些写得好的项目一看目录就很清楚每部分干什么,哪里是程序入口,看着就很舒服,自己再看的时候也会省很多时间),否则太乱了自己后面都看不懂。(总之,一个目标就是做到解耦,即随便挑出来一部分都可以在脱离本项目的情况下用到其他的地方去)
4.写代码,首先明确要定义些什么(类、结构体、方法等等),可以先不写出来,就建个方法名,后面再补。
5.然后明确主流程,就是总共有哪几步来完成整个任务,在主函数中把它写出来,后面再根据每个流程来建具体的实现方法,写具体的代码。子流程的代码的流程同理。
6.代码注释一定要明确,报错的信息也要写出来,这样才好定位错误。
7.通常定义和方法分开放到不同文件中,即例如结构体等配置的定义信息在一个文件中,处理具体事务的代码在另一个文件中。
8.通常项目都是比较大的,所以自己负责的是一个模块,这个模块要达到的目的就是没有这一块其他块也能正常流程走完,也是一个解耦。
然后,里面最重要的问题就是你要提供一个接口给别人,要想清楚别人怎么来调用接口,命令行?配置文件?还是怎么调用。
并且要了解调用者以及模块出口输出到的那个模块它们输入什么输出什么,否则很可能接口对不上。
例如,我写的一个udp通信代理,刚开始大概沟通了一下流程就自己写自己的,然后我写的就是监听以及输出udp数据包,整个流程都是采用udp传输,但是其实调用者给我的数据是http数据包,对应http协议在传输层使用的tcp,所以我们对接口的时候一直没有收到数据,导致又重新写tcp部分的代码。