Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

随笔分类 -  软件设计

摘要:开发工具VS2008+Qt4.8.0+GDAL1.9要点 接口要独立,软件平台与算法模块独立,平台中各接口设计灵活,修改时容易。 设计软件时一步步来,每个功能逐一实现,某个功能当比较独立时可以做一个测试程序,测试无误后将功能添加到工程中。此外,在软件设计过程中,自身会想到一些功能,为了测试功能方案的可行性,可以单独做一个测试示例,测试方案是否可行,这样主动地学习可以学到很多新的知识。同时也可以增强自己解决问题的能力。软件的主线: 1.打开图像后,将影像及其含有的波段数(微波图像是极化方式)以树形结构显示在界面上,采用QTreeWidget; 2.双击某个波段或极化方式后,显示出缩略图,这里记录 阅读全文

posted @ 2013-09-17 23:26 romi 阅读(2691) 评论(2) 推荐(2) 编辑

摘要:转载自:http://www.cnblogs.com/karoc/archive/2011/09/16/2179125.html#2497969。感谢原作者。坏味道特征情况及处理方式目标重复代码1.重复的表达式2.不同算法做相同的事3.类似代码同一个类的两个函数有相同表达式重复代码提取为方法相同表达式只在一个类的一个方法出现,供其他方法调用兄弟类含有相同表达式重复代码提取为方法提升方法到父类不相干类含有相同代码提取为独立类供调用过长函数1.代码前面有注释2.条件表达式3.循环 提取方法每个方法只做一件事,方法要定义完善、命名准确过大的类1.一个类中有太多实例变量2.一个类中有太多代码部分字段之 阅读全文

posted @ 2012-11-28 09:30 romi 阅读(413) 评论(0) 推荐(0) 编辑

摘要:转载自:http://blog.csdn.net/justjavac/article/details/7865418编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时 阅读全文

posted @ 2012-11-26 15:46 romi 阅读(486) 评论(0) 推荐(0) 编辑

摘要:进程死锁:两个或两个以上的进程在执行过程中,因为争夺资源而造成的一种相互等待的现象,若无外力作用,他们都将无法推进下去,此时系统产生死锁。产生进程死锁的4个必要条件: 互斥条件:每个资源一次只能被一个进程使用; 请求与保持条件:一个进程因请求而阻塞时,对已获得的资源保持不放; 不剥夺条件:进程已获得资源,在未使用完之前,不能强行剥夺; 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。这4个条件是发死锁的必要条件,只要发生死锁,只写条件必然成立。只要上述条件之一不满足,则不会发生死锁。死锁的避免:确定资源的合理分配算法,避免进程永久占据系统资源。此外,也要防止进程在处于等待... 阅读全文

posted @ 2012-09-22 21:03 romi 阅读(2221) 评论(0) 推荐(0) 编辑

摘要:软件开发中的高内聚、低耦合 阅读全文

posted @ 2012-04-16 22:01 romi 阅读(1854) 评论(0) 推荐(0) 编辑

摘要:如何从其他渠道获得反馈习惯19:守护天使敏捷就是管理变化的,为了应对代码的变化,你需要持续获得代码健康状态的反馈。带上守护天使,自动化单元测试。敏捷式的单元测试,用代码来进行测试,可以选择一个标准的测试框架,来帮助完成简单的便携与测试工作。单元测试是最受欢迎的一种敏捷实践,推荐《单元测试之道》。单元测还是可以很好的学习API。习惯20:先用它在实现它编写之前,先写测试。将TDD(Test Driven Development,测试驱动开发)作为设计工具,它会为你带来更简单更有效的设计。切身感受:只在有具体理由的时候才开始编码,你可以专注于设计接口,而不会被很多实现的细节干扰。习惯21:不同的环 阅读全文

posted @ 2012-04-16 21:55 romi 阅读(247) 评论(0) 推荐(0) 编辑

摘要:没有任何计划在遇敌后还能继续执行。我们真正的敌人是变化。让用户和客户参与开发很重要。习惯10:让客户做决定开发者(即项目经理)能做的一个最重要的决定就是:判断哪些是自己决定不了的,应该让企业主做决定。你不需要给业务上的关键问题做决定,毕竟那不是你的事情。和客户讨论时,不要从技术的角度,而要从业务的角度介绍每种方案的优缺点,以及潜在的成本和利益。习惯11:让设计指导而不是操纵开发设计文档应尽可能的详细。在高层方面,详细描述对象的关联关系,在底层方面,详细描述对象之间的交互。画关键工作图(用UML),因为要使用类及其交互关系来描绘系统是如何组织的。然后才是开始编码。不要把时间浪费在编码前具体细节的 阅读全文

posted @ 2012-04-16 21:53 romi 阅读(413) 评论(0) 推荐(0) 编辑

摘要:即使你已经在正确的轨道上,但如果只是停止不前,也仍然会被淘汰出局。是否能跟上变化,完全取决与你自己。学习新的技术和新的开发方法很重要。习惯5:跟踪变化唯有变化是永恒的。当今快速发展的IT时代,你从事的是一项充满激情且不停变化的工作。迭代和增量式的学习;了解最新行情;参加本地的用户组活动;参加研讨会议;如饥似渴的阅读;你不需要精通所有的技术,但需要清楚的知道行业的动向,从而规划你的项目和职业生涯。你要明白为什么需要这项新技术——他试图解决什么问题?他可以被用在什么地方?习惯6:对团队投资午餐会议习惯7:懂得丢弃随着科技的进步,曾经非常有用的东西往往会靠边站。在学习一门新的技术时,多问问自己,是否 阅读全文

posted @ 2012-04-07 13:12 romi 阅读(312) 评论(0) 推荐(0) 编辑

摘要:《敏捷开发修炼之道》学习笔记:态度决定一切 良好的习惯 阅读全文

posted @ 2012-04-06 23:25 romi 阅读(318) 评论(0) 推荐(0) 编辑