工作效率问题小结

  

 今天编写一个TCP双工通信的程序,程序很快就写完了,但是在调试的时候,一个简单的问题却折磨我很长时间,效率和方法对于我们编程人员来说真的是很重要

我先简单说一下我遇到的问题:

这是一个在Windows上的一个TCP服务器与Android客户端双工通信的Demo,服务端和客户端因为有以前写完的成套的例子,所以很快就搞完了,

首先开启服务器程序,监听客户端的连接,并且保存客户端连接的Socket到一个Dictionary字典中;然后服务端在某一时刻使用Dictionary字典中的Socket给客户端下发命令;最后客户端打印下发的命令。

但是在调试的时候,我发现,只要服务器用Socket给客户端发送一条消息以后,Dictionary字典中的Socket的Connected属性就变成False,天啦!怎么会这样。开始就以为服务端出现什么问题了,看代码,打断点调试....结果还是这样,在这里浪费了很多的时间。

后来想想,当客户端的Socket释放了(可能的原因有很多,比如出错了),那服务端的Socket的Connected属性当然就为False了!

看客户端代码,也是走断点啊,调试啊,也花了挺长时间,(时间就在这种没有目的的调试中溜走!),结果发现,第一次客户端能接收到服务端下发的命令,第二次却收不到了,当时也没多想,又是在接收的地方疯狂地运行调试....,最后发现,原来我第一次接收后,一些标志变量,计算已接收的字节数的变量没有归零!(),就这么一个简单的问题搞了那么长时间。真是失败啊!

干程序员也一年多了,怎么自己工作的效率就是提不上去呢?!正应该静下心来,好好想一想,出题可能出在哪,可能是什么原因导致问题的出现,不要盲目的依赖运行调试,多用脑子想一想,整个程序的流程,到底是哪一个环节出现的问题,才能对症下药。不要急于运行调试,不要过分依赖电脑,我们是有思想的。

关键还在于自己多练,多想,多学习,再加上严谨

在网上也google了一些资料,我在这里摘录一点,希望对自己,对看到这篇博客的朋友有所帮助。

1,忘记历史就意味着你得多输入一遍
2,编写单元测试,提高工作效率

试想一下,如果你正编写一个大型网络应用程序,其中一个小小的代码出现了差错,要修改它便意味着整个程序的重建、数据的重新配置以及特性的重新检查(而这个错误很可能隐藏很深)。再设想一下,你可能需要一遍又一遍地重复类似的事。现在,借助“单元检测”,就可以让你避免重复以往的修改/检查工作,可以节省很多时间。

3,训练自己的编程能力,

这其实很容易。看看其他专业人员。板球队员通过“网上训练”提高技能。音乐家通过练习演奏来提升水平。歌手也需要不断通过练习改进。令人吃惊地是,绝大部分的程序员却不练习。但你需要不断练习。

阅读一些诸如《Effective Java》和《Design Patterns》等类型的书,并每天做些基础训练。从欧拉项目中找出些问题,然后 用你最喜欢的计算机语言解决它。

编者注:欧拉项目,一个知识检测网站,定期发布题目,提交正确答案即可进入关于该问题的讨论,学习题目的不同解法。

和你做的普通项目不同,这些练习没有时间限制。因此,好好安排利用你的时间正确地做事。通过这样的练习,你的工作效率将有很大提高。这是显而易见的,不是吗?

4. 阅读代码和技术资料

阅读代码和修改/编写代码一样困难。在当今开源世界的情况下,可以参阅大量优质代码。选择一个你最喜欢的开发库,然后仔细阅读以充分利用里面的资源。或许你不能很快便理解所有的内容,但是通过不断的训练,你将能够区分其中使用的不同模式,同时把这些模式用到你的代码中。

除了看代码之外,你也可以订阅专业领域内优秀专家的博客,来获取最新趋势信息

5,认真考虑它
通常来说解决一个困难问题需要一些灵感。如果你对那个领域并不熟悉,你应该从研究这个领域开始,借鉴一下其他人的经验,慢慢的研究理解这个领域,并且做一些小的尝试看看你能否搞定这个领域

6,不要重复相同的事情, 每天都花一点时间来使每一天都更高效

7,精力越集中,思维越缜密

8 使用并改进开发库

很多编程人员不喜欢用开发库。他们宁愿自己编写代码,也不愿意使用开发库。主要理由如下:

a. 他们不了解开发库;

b. 开发库里有很多他们并不需要的信息;

c. 相比于开发库,他们更容易掌握自己编写的代码;

不妨考虑下以下几个方面:

a. 开发库已经过严格测试,覆盖范围广,可以帮助你节约很多时间。如果你改进了开发库,你可以帮助很多人。

b. 但如果你仅改进你的私有代码,则不可能有那样的影响。

c. 最重要的是,其他同行也在帮忙补充开发库的信息,这可以间接地帮助你。

总而言之,除非开发库与你的要求太不相符,你最好考虑选择使用开发库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值