网络寻租

Programmer, Gamer, Hacker

如何设计

| Comments

我是一个很初级的程序员,由于工作性质(企业软件一个模块的维护和开发), 与客户(企业内部使用该系统的员工)谈需求,设计,开发,导入,维护都是我一个人完成。 需要说的是,需求都是很简单的,做的事情也没有太多的技术含量,无非是设计一个流程。

现在我想要自己真的做一个桌面应用,问题就来了。我不会设计。

举个实例,我想要自己做一个GTD软件自己来用,名称为simpleGTD, 想好了流程(就是GTD的流程了),然后画了几个小图就开工了。

然后自然,开发遇到了一系列问题。

先说一下我的设计吧。

使用语言为python,界面使用PyQt,数据持久化采用sqlite。

思想也很简单,脑袋里面想到的东西都是事件,需要输入到程序里面。

然后程序按照优先级排一个序,我自己就按照优先级来做事。

可以把一个事件删除,计划到某个时刻(到时会自动调到最优先的程度),还有就是拆分成小事件(父子关系).

我开发方式就是增量式开发,就是写一点看一点,开始就遇到了问题。

原先设计时,打算用到QTreeWidget,用来显示复杂的组织关系,结果,按照文档写了一个类,用来显示sqlite资料,

结果怎么调试都无法正确显示。于是只好修改设计,取消显示组织关系---知道了开发前要验证技术风险

然后开始写数据结构,然后就是一大堆的SQL。。。。当然,一大堆的工作,一大堆的bug,

完工变得遥遥无期。继续修改设计,不再使用sqlite,只用python自带的那个pickle。

之后的工作就好过了许多,不过,还是有大量的时间花在了一边运行一边debug上面。

我虽然没有统计,但是至少知道,大量的时间浪费在了调试上面。

最后终于完工了,结果不很满意,但是至少能用。专案放在google code上面。如下:

http://code.google.com/p/smallgtd/

image

无论从什么角度上看,都不能说是一个成品,更别说和商业作品相比了,文档什么的更别说。

为什么我不完善?我不知道别人怎么样,我自己的感觉就是,程序编出来后,我再也不想看代码了,有种恶心的感觉。

编完后,我感觉到自己疲惫了,再也不想写程序了,或者说感到自己很无力和无能,无法写出东西出来。

我看了不少书,程序语言和电脑知识上面,感觉自己虽然不是很精通,但是至少该懂的都懂。但是在程序设计和计划管理上面,感到自己万分无力,日常工作中,就算能够应用一些技巧,但是在整体开发上面,我感觉没有办法提高。我应该怎么样才能成为一个能够设计好程序的程序员?我不知道。

Comments