
软件开发
文章平均质量分 67
beiyan
这个作者很懒,什么都没留下…
展开
-
软件除错
加入Sybase不久,一位久未谋面的朋友问我在做什么。我说软件修理工(我在Sybase维护PowerBuilder)。说这话时,我丝毫没有贬低修理工的意思,相反,我从小就羡慕出色的修理工。不响的收音机,他们捣鼓捣鼓就响了;不干活的机器,他们鼓捣鼓捣就干活了。 一名出色的除错(debugging)高手是公司的宝贵财富。有一次,有人问公司的一位高级副总裁:谁是他手下最重要的人。回答是:两名高级原创 2003-01-03 11:12:00 · 1259 阅读 · 0 评论 -
如何在Android应用中使用已有的Sqlite数据库
在我几个Android应用中,我需要访问已有的数据库。这些数据库往往很大,甚至超过asset文件大约1兆字节的限制。而且在新的版本中数据库需要更新。我在网上,特别是StackOverflow看了一些文章,并做了一些试验,觉得下面的代码能基本上满足我的需求。其主要思路是:1. 把数据库分解成几个asset文件。2. 当需要打开数据库时,如果数据库不存在,就把那几个asset文件重原创 2013-03-17 22:17:03 · 3033 阅读 · 0 评论 -
Android棋类游戏:五福
我最近在Android电子市场发表了一个人机对弈游戏:五福。这是我小时候常玩的一个游戏。 我采用了Minimax算法。这个算法实现起来相当直接。难点在于怎样快速地找出最佳走法,也就是怎样才能尽可能先评估最佳走法,以及如何优化评估函数(evaluation function)。 计算一步棋可能需要很长的时间,所以我们不能主线程做计算。我采用了AsyncTask类。AsyncTask类原创 2012-01-14 12:52:45 · 1487 阅读 · 1 评论 -
软件编程十要
<br />从事软件开发二十几年了,一直想总结出一些自己应遵循的准则。受“围棋十诀”和“太极拳十要”的启发,从一些书和文章中挑出对自己最有帮助的十条。其中有些条目是相互关联的,都是从不同角度强调如何降低系统复杂度、使系统设计更趋合理。<br /> <br />软件编程十要:<br />去除冗余<br /> 名副其实<br /> 单元测试<br /> 力求简练<br /> 减少关联<br /> 重视接口<br /> 层次结构<br /> 信息隐蔽<br /> 风格统一<br /> 不断改进<br /><br原创 2010-12-18 15:49:00 · 572 阅读 · 0 评论 -
越简单越好?
家里的抽水马桶坏过好几次。我也试着修过几次。见过几种不同的马桶。其共同点是都有一个浮漂装置控制进水和水位,不同点在于如何排水。 最简单的一种用一个皮塞直接塞住出水口。排水时,用一个简单的杠杆装置将皮塞拉起。水排出后,皮塞下落,重新把出水口塞住。这种设计固然是再简单不过了,但也有几种缺点:因皮塞盖不严而漏水,皮塞落下的时机不对而导致排水量不足,或者皮塞不能自动下落。 最近修理的原创 2006-08-27 21:51:00 · 2517 阅读 · 0 评论 -
软件是怎么写成的?
开发软件的方式多种多样。有瀑布型(Waterfall model),有渐进型(Incremental model),有进化型(Evolution model),有样机型(Prototyping model),有RUP,有XP,有敏捷开发。不一而足。到底应该选用那种方法呢? 软件开发归根结底不外乎两方面:技术和管理。技术方面包括分析、设计、编程、调试等。管理包括人员管理、进度管理、风原创 2006-09-24 12:50:00 · 1223 阅读 · 0 评论 -
7±2
心理学研究认为人同时只能处理7±2件事,也就是说人通常只能同时处理5到9件事。超过这个范围,就容易出现混乱或差错。据说,在某些古代文明中,“七”有很多的意思。 7±2原理表明了人类认知能力的局限性。为了克服这个局限,我们的祖先很早就发明了分而治之(Divide and Conquer)的方法。在研究一个复杂事物时,将其划分成若干小部分,并逐渐细化,直到能把握为止。然后再反过来研究各部分之间原创 2003-01-10 08:58:00 · 1506 阅读 · 0 评论 -
软件开发与反馈控制系统
软件开发与反馈控制系统?这是哪儿跟哪儿呀?你也许会问。我却发现二者之间有很多相似之处。 反馈控制系统是一种最常见的控制系统。在反馈控制系统中,输出信号被检测出,经控制器处理形成反馈信号,与输入信号相减,从而调节被控制系统的输入信号,使输出信号趋于稳定。如果反馈控制器失灵,系统输出值就很容易偏离设定值。 我觉得软件开发实际上是一个复杂的控制系统。用户需求和开发人员的劳动等是输入,代码原创 2003-01-03 10:04:00 · 1598 阅读 · 0 评论 -
软件开发高手:十年磨一剑
要成为武林高手,需要长时间的勤学苦练。要成为软件开发高手,又需要多长时间呢?《Modern C++ Design》的作者Andrei Alexandrescu认为:一个人有可能在20几岁就成为编程高手,但要成为设计高手却需要熬到35岁左右。以23岁大学毕业计算,要经过漫长的12年时间。 以我个人为例(我尚不敢自认是设计高手),22岁大学毕业后,在某研究所用8086汇编语言写一些小规模的程序原创 2003-01-08 09:33:00 · 1326 阅读 · 0 评论 -
The name “LayoutAwarePage” does not exist in the namespace
我用Visual Studio 2012 Blank App模板创建了一个Windows Store应用。在添加一个Split Page后,只要我打开那个Split Page就会出现本文标题中显示的错误。在做了一些试验后,终于发现删除和.sln同名的.suo文件后,那个错误信息就消失了。原创 2013-04-09 21:10:04 · 655 阅读 · 0 评论