讨论:如何提高开发效率?

ahzhuo 2005-05-11 01:51:20
一个人开发整个项目,从设计到编码到调式都是自己搞,随着项目一步步复杂起来,逐渐觉得越来越力不从心,思绪紊乱,注意力难以集中,开发效率严重低下,怎么办?
主要有下面几方面的困扰:

1。项目同时涉及多个工程,并且多个工程相互影响,需要齐头并进,所以思绪总在几个工程之间跳来跳去,感觉大脑的“切换”开销比较大,十分影响效率和心情,怎么办?

2。经常为类或者变量的取名头疼,英文水平自认为还可以,不过要为众多的类和变量取一个恰如其分并且风格统一英文名称,确实让人了绞尽脑汁,也十分影响效率和心情,怎么办?

3。一直坚持为诸如内存分配失败、文件打开失败等小概率错误写了判断和报错代码,造成程序中大量存在各种错误判断和报错代码段,往往仔细检查代码之后,又发现还有一些“可能”出现错误的地方还没有判断,但是如果再加上判断和报错——我已经无法想象最终代码的样子了!也令人头疼。不知道各位的错误判断和处理机制是怎样的?

4。由于是个人的项目,几乎没有写设计文档,没有画流程图,设计都是在脑中形成的,并且是设计一部分,实现一部分,然后再设计下一部分,实现下一部分,以此类推。但是现在感觉与来越吃力,脑子里面混混沌沌的,估计是程序逻辑与来越繁杂了的缘故,怎么办?我需要补上以前没写的文档和流程图,然后养成写文档和画流程图的习惯吗?对于一个人开发整个项目的情况而言,文档要详细到什么程度?流程图要细化到什么程度?不知道各位是如何处理写文档画流程图与直接编码的冲动之间的平衡的?

5。本人有点完美主义,希望设计和代码尽善尽美,这导致我在设计某项数据结构的时候,不自觉地会超前思考有关这个数据结构相关的可能存在的问题,以及可扩展性等,往往会耗费大量时间而无法确定下来,同时令人很沮丧,造成效率低下,怎么办?而且经常好不容易敲定的设计,后来还是要回头来修改甚至推翻——还是完美主义在作祟,怎么办?

希望大家来讨论讨论,帮顶一下。达人来给点建议,直条明路,谢谢!
...全文
608 58 打赏 收藏 转发到动态 举报
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
changxu21 2005-05-13
  • 打赏
  • 举报
回复
楼主纠正的对。楼主有这种思考的意识,迟早会得到答案的。我认为你所遇到的问题是编程水平提高过程中必须经历的一个阶段,随着自己的经验不断积累,同时不断总结,达到一定层次,就知道:文档该写的多详细?哪些出错事件需要捕捉?各个模块工程进度如何协调等等。
ahzhuo 2005-05-13
  • 打赏
  • 举报
回复
一直不明白一个问题:看了一些老外的源代码,其中不乏经典作品的源代码,感觉一个字:那个乱啊!注释也并不是很多,真不知道他们是如何理清那些复杂的逻辑、流程的,甚至是一些面向过程的设计,竟然也可以复杂到令人瞠目结舌的地步,但最终的产品仍然跑得很好,很少错误,功能、效率也不错。老外们是如何做到如此清醒清晰的思路的?我怎么就做不到呢?
ringphone 2005-05-13
  • 打赏
  • 举报
回复
楼主说的这些问题原来也困扰过我,不过现在我是采用这样一个原则:先把最简单的东西做出来。

超前考虑的东西,复杂的部分先记下来放一边,一个设计无论你考虑的多复杂,编码的时候先把系统简单化,即先把最简单的功能做出来,暂时先不考虑容错等等,把一个能测试的东西做出来,然后根据你最初的构想逐步完善,这时候要坚持一个原则:不把已经做出来的系统里的BUG清除掉,不继续下面的工作,不加入新的功能。

这就好比是建房子,不把下面的东西建稳定了,就不往上垒更多的东西。整个系统也就这样能从无到有慢慢扩展完善,每当加入新的功能,因为前面的BUG已经解决,因此很容易排错,不会牵一发而动全身。

当然说起来容易,实际实施过程中还是会有很多问题的。比如因为要追求完美,完全推翻以前的设计,但是其实前面已完成的部分一定已积累了不少功能实现类等代码,很多是可重用的,比什么都不做光在那里考虑设计好多了吧?
暗黑帝国 2005-05-13
  • 打赏
  • 举报
回复
现在也迷惑中,有些时候真的很沮丧。
每次写完文档,编码时就发现有些根本就在写文档时没有考虑到的,又的回头改文档。总觉得一个人开发有些力不从心。而且追求完美的确也不是一个好的习惯。应该遵循越简单越好的原则。
hushuangyan74 2005-05-13
  • 打赏
  • 举报
回复
我没有进过大的软件公司,现在在一个小的软件公司里面,一个软件都是自己来做,由于没有什么经验,我也很困惑,对软件也没有划分模块,就是很随意的想当然把每一个功能分成好多的类,有时程序里面有20-30个类,过一段时间自己也搞不清了,看了楼主的这个贴,感觉有好多收获,谢谢各位!
leechiyang 2005-05-13
  • 打赏
  • 举报
回复
借屈原老先生的一句话:
路漫漫其修远兮,吾将上下而求索.
ahzhuo 2005-05-13
  • 打赏
  • 举报
回复
to changxu21(dlss):

怎么能说是“想法”一模一样捏?应该说是遭遇一模一样吧 :)
ahzhuo 2005-05-13
  • 打赏
  • 举报
回复
困惑大家有,大家谈解惑!
nooning 2005-05-13
  • 打赏
  • 举报
回复
我好象有楼主一样的困惑
不过一类对注释倒不是很那个什么,一般注释到函数级,除非特殊才会去写注释,不象现在的公司要求5行就要有注释

另外追求完美真的不是什么好事,个人觉得,我也是写代码的时候经常去追求更好的实现,结果浪费太多的时间和精力

追求开发效率而非运行效率(但追求完美的人很难做的,我也做不到)
微妙的平衡 2005-05-13
  • 打赏
  • 举报
回复
收藏,学习ing............
ahzhuo 2005-05-12
  • 打赏
  • 举报
回复
吸取达人经验,准备培养画流程图的习惯,一幅图胜过千言万语嘛。尝试了一下 Visio 2003,很好用,比它以往的版本好用了许多,对它的印象大为改观,荐!
星辰游侠 2005-05-12
  • 打赏
  • 举报
回复
写多了,特别软件设计那块搞熟了,我想困难就减少了很多
ahzhuo 2005-05-12
  • 打赏
  • 举报
回复
团队合作的优势当然很明显,但是在受条件制约的情况下,有些时候不得不自己操刀绝大部分事情呀。
changxu21 2005-05-12
  • 打赏
  • 举报
回复
怎么就有人跟我的想法一摸一样呢!!!!!楼主的所有问题我都碰到了!我也在寻求答案!希望跟楼主交流。changxu21◎sohu.com
tan_jianhui 2005-05-12
  • 打赏
  • 举报
回复
study!
tudou614 2005-05-12
  • 打赏
  • 举报
回复
我来听课
ahzhuo 2005-05-12
  • 打赏
  • 举报
回复
必须要不断地否定自己才能成长!
lezi1022 2005-05-12
  • 打赏
  • 举报
回复
所以说改变习惯是很痛苦的,我们要养成良好的编程习惯和生活习惯。
ahzhuo 2005-05-12
  • 打赏
  • 举报
回复
to lcstudio(铁板牛牛):

我并不是这样做的,我只是提出一种设想而已,我只是想知道若是把 try catch 放到最外层,是否就可以从检测错误和报告错误的迷宫中走出来了?

PS:这里说的错误,均指致命错误,也就是说,一旦出错,程序将无法继续正常运行,例如:内存分配失败等。
ypos 2005-05-12
  • 打赏
  • 举报
回复
如果时间不够的话,就没有办法,否则,多找些东西看看吧,比较多,还得自己慢慢悟,大家也不见得在这方面比你强
加载更多回复(38)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧