- 博客(13)
- 收藏
- 关注
原创 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
639
原创 如何在Android应用中使用已有的Sqlite数据库
在我几个Android应用中,我需要访问已有的数据库。这些数据库往往很大,甚至超过asset文件大约1兆字节的限制。而且在新的版本中数据库需要更新。我在网上,特别是StackOverflow看了一些文章,并做了一些试验,觉得下面的代码能基本上满足我的需求。其主要思路是:1. 把数据库分解成几个asset文件。2. 当需要打开数据库时,如果数据库不存在,就把那几个asset文件重
2013-03-17 22:17:03
3005
原创 Android棋类游戏:五福
我最近在Android电子市场发表了一个人机对弈游戏:五福。这是我小时候常玩的一个游戏。 我采用了Minimax算法。这个算法实现起来相当直接。难点在于怎样快速地找出最佳走法,也就是怎样才能尽可能先评估最佳走法,以及如何优化评估函数(evaluation function)。 计算一步棋可能需要很长的时间,所以我们不能主线程做计算。我采用了AsyncTask类。AsyncTask类
2012-01-14 12:52:45
1454
1
原创 软件编程十要
<br />从事软件开发二十几年了,一直想总结出一些自己应遵循的准则。受“围棋十诀”和“太极拳十要”的启发,从一些书和文章中挑出对自己最有帮助的十条。其中有些条目是相互关联的,都是从不同角度强调如何降低系统复杂度、使系统设计更趋合理。<br /> <br />软件编程十要:<br />去除冗余<br /> 名副其实<br /> 单元测试<br /> 力求简练<br /> 减少关联<br /> 重视接口<br /> 层次结构<br /> 信息隐蔽<br /> 风格统一<br /> 不断改进<br /><br
2010-12-18 15:49:00
547
原创 软件之形
从不同层次、不同角度我们能看到软件的不同形状。从这些形状中,我们能大致看出软件的质量。总体来说,好的形状简洁、平衡、统一,能给人以美感。
2010-09-24 16:38:00
733
原创 软件是怎么写成的?
开发软件的方式多种多样。有瀑布型(Waterfall model),有渐进型(Incremental model),有进化型(Evolution model),有样机型(Prototyping model),有RUP,有XP,有敏捷开发。不一而足。到底应该选用那种方法呢? 软件开发归根结底不外乎两方面:技术和管理。技术方面包括分析、设计、编程、调试等。管理包括人员管理、进度管理、风
2006-09-24 12:50:00
1195
原创 越简单越好?
家里的抽水马桶坏过好几次。我也试着修过几次。见过几种不同的马桶。其共同点是都有一个浮漂装置控制进水和水位,不同点在于如何排水。 最简单的一种用一个皮塞直接塞住出水口。排水时,用一个简单的杠杆装置将皮塞拉起。水排出后,皮塞下落,重新把出水口塞住。这种设计固然是再简单不过了,但也有几种缺点:因皮塞盖不严而漏水,皮塞落下的时机不对而导致排水量不足,或者皮塞不能自动下落。 最近修理的
2006-08-27 21:51:00
2492
原创 帮你免于失业的十大软件技术
The 10 Technologies that Will Help You Stay EmployedKeeping up with key technologies is the best thing you can do to give yourself an edge in the employment market now—and in the futu
2003-01-20 10:50:00
1178
原创 软件工程专业毕业生的目标
偶然从网上发现软件开发先驱之一David Parnas制定的软件工程专业毕业生的目标。读之,不禁汗颜。我的一位美国同事也说这些目标确实很高,不知有多少毕业生能达到。不管怎样,这或许是我们软件开发人员所要追求的目标?翻译如下: 软件工程专业毕业生的目标 1总体1.1 道德行为和社会责任1. 毕业生要对他们的成绩有着习惯性的诚实。2. 毕业生要很快地把荣
2003-01-13 09:17:00
2255
原创 7±2
心理学研究认为人同时只能处理7±2件事,也就是说人通常只能同时处理5到9件事。超过这个范围,就容易出现混乱或差错。据说,在某些古代文明中,“七”有很多的意思。 7±2原理表明了人类认知能力的局限性。为了克服这个局限,我们的祖先很早就发明了分而治之(Divide and Conquer)的方法。在研究一个复杂事物时,将其划分成若干小部分,并逐渐细化,直到能把握为止。然后再反过来研究各部分之间
2003-01-10 08:58:00
1479
原创 软件开发高手:十年磨一剑
要成为武林高手,需要长时间的勤学苦练。要成为软件开发高手,又需要多长时间呢?《Modern C++ Design》的作者Andrei Alexandrescu认为:一个人有可能在20几岁就成为编程高手,但要成为设计高手却需要熬到35岁左右。以23岁大学毕业计算,要经过漫长的12年时间。 以我个人为例(我尚不敢自认是设计高手),22岁大学毕业后,在某研究所用8086汇编语言写一些小规模的程序
2003-01-08 09:33:00
1252
原创 软件除错
加入Sybase不久,一位久未谋面的朋友问我在做什么。我说软件修理工(我在Sybase维护PowerBuilder)。说这话时,我丝毫没有贬低修理工的意思,相反,我从小就羡慕出色的修理工。不响的收音机,他们捣鼓捣鼓就响了;不干活的机器,他们鼓捣鼓捣就干活了。 一名出色的除错(debugging)高手是公司的宝贵财富。有一次,有人问公司的一位高级副总裁:谁是他手下最重要的人。回答是:两名高级
2003-01-03 11:12:00
1242
原创 软件开发与反馈控制系统
软件开发与反馈控制系统?这是哪儿跟哪儿呀?你也许会问。我却发现二者之间有很多相似之处。 反馈控制系统是一种最常见的控制系统。在反馈控制系统中,输出信号被检测出,经控制器处理形成反馈信号,与输入信号相减,从而调节被控制系统的输入信号,使输出信号趋于稳定。如果反馈控制器失灵,系统输出值就很容易偏离设定值。 我觉得软件开发实际上是一个复杂的控制系统。用户需求和开发人员的劳动等是输入,代码
2003-01-03 10:04:00
1552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人