<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>编程</title><link>http://fish.cndev.org/category/17.aspx</link><description>编程</description><managingEditor>Fish</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>Fish</dc:creator><title>如此标准规范</title><link>http://fish.cndev.org/archive/2009/11/14/60360.aspx</link><pubDate>2009-11-14 12:32:00Z</pubDate><guid>http://fish.cndev.org/archive/2009/11/14/60360.aspx</guid><wfw:comment>http://fish.cndev.org/comments/60360.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2009/11/14/60360.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/60360.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/60360.aspx</trackback:ping><description>&lt;P&gt;上午帮人维护系统，得到一份省里某局关于某系统的系统规范，&lt;BR&gt;光看目录也还像模像样。细节就不能琢磨了。前面一大半看上去&lt;BR&gt;基本就是直接照搬某公司的投标文件和方案。后面的一些要求和&lt;BR&gt;描述就更好笑了。&lt;BR&gt;&lt;BR&gt;随便举两个例子吧：&lt;BR&gt;&lt;BR&gt;一是数据库设计规范的要求：&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;8.4.1.&amp;nbsp;采用有意义的字段名&lt;BR&gt;尽可能地把字段描述的清楚些。当然，也别做过头了，比如CustomerShippingAddressStreetLine1 虽然很富有说明性，但没人愿意键入这么长的名字，具体尺度就在你的把握中。每个单词的首个字母要求用大写!!!不要用下划线来连接每个单词.&lt;BR&gt;8.4.2.&amp;nbsp;遵守3NF 标准规定&lt;BR&gt;?&amp;nbsp;表内的每一个值都只能被表达一次。&lt;BR&gt;?&amp;nbsp;表内的每一行都应该被唯一的标识(有唯一键)。&lt;BR&gt;?&amp;nbsp;表内不应该存储依赖于其他键的非键信息。&lt;BR&gt;8.4.3.&amp;nbsp;小心保留词&lt;BR&gt;要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突，比如，写的一个ODBC 连接程序里有个表，其中就用了DESC 作为说明字段名。后果可想而知！DESC 是DESCENDING 缩写后的保留词。表里的一个SELECT *语句倒是能用，但我得到的却是一大堆毫无用处的信息。&lt;BR&gt;8.4.4.&amp;nbsp;保持字段名和类型的一致性&lt;BR&gt;在命名字段并为其指定数据类型的时候一定要保证一致性。假如字段在某个表中叫做&amp;#8220;AgreeMentNumber&amp;#8221;，你就别在另一个表里把名字改成&amp;#8220;ref1&amp;#8221;。假如数据类型在一个表里是整数，那在另一个表里可就别变成字符型了。记住，你干完自己的活了，其他人还要用你的数据库呢。&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;这段文风幽默的文字，大量出现在网上。结果被一字不落地&lt;BR&gt;照抄到省里的规范中。虽然是初稿，但也太那啥了&lt;BR&gt;&lt;BR&gt;再来几段界面要求的:&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;7)&amp;nbsp;相同含义的词使用统一的术语。比如对于仓库中存放的物料，不可同时又称为物品、货物、备品、产品和材料等等，而统一约定一个称谓，且此称谓是用户熟悉的和易于理解的。&lt;BR&gt;8)&amp;nbsp;使用一组一致的命令和界面来展示常见功能。例如，避免一个"复制"命令在一种情况下立刻执行一个操作，但在另一种情况显示一个对话框要求用户键入目标然后才执行。应该使用同样的命令来执行对用户来说相似的功能。&lt;BR&gt;9)&amp;nbsp;操作环境内的一致。保持Windows提供的交互操作和界面约定之间的高度一致，用户将能很快熟悉软件的使用。&lt;BR&gt;10)&amp;nbsp;使用隐喻的一致性。如果一个特定的行为更多的是一个不同的事物的特征，而不是它的隐喻的含义，那么用户可能在学习将行为和该事物相关联时遇到困难。例如，对于放在回收站中的对象而言，焚烧炉和废纸箩代表不同的模型。&lt;BR&gt;11)&amp;nbsp;建立项目保留字。通过建立保留字来明确和统一术语和操作命令。&lt;BR&gt;12)&amp;nbsp;提供可视反馈。在后台运行长进程时（时间超过1～10秒，视具体情况而定），必须提供进度条等信息指示。除非特别必要时，不要提供声音反馈。在有严重的问题发生时，可以使用声音来提示用户，但是通常应该允许用户取消声音。保持文字内容清楚。信息的表达要言简意赅，易于理解而又不罗嗦；避免使用冗长的文字给用户反馈。&lt;BR&gt;13)&amp;nbsp;拥有良好的直觉特征。以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻，来帮助用户能迅速学会软件的使用。用熟悉的隐喻为用户的任务提供直接而直观的界面。通过允许用户利用他们的知识和经验，隐喻使得预测和学习基于软件的表示的行为更加容易。在使用隐喻时，不需要将基于计算机的实现局限在真实世界的对应物上范围之内。例如，与其基于纸张的对应物不同，Windows桌面上的文件夹可以被用来组织各种对象，例如打印机、计算器、以及其他文件夹。同样，Windows文件夹可以其真实世界对应物不可能的方式被排序。在界面中使用隐喻的目的是提供一个认知的桥梁；隐喻并不以其自身为最终目的。隐喻支持用户认知而不是记忆。用户记起与一个熟悉的事物相关联的意义要比他们记起一个特定命令的名称要容易得多。同常见软件保持一致性。出色的用户界面在程序中将实现同用户以前用过的其它成功软件一致的动作。&lt;BR&gt;14)&amp;nbsp;较快的响应速度。保持界面能很快对用户操作作出反应。提供快捷键。特别对于有大量录入项的界面，能让用户不使用鼠标即可完成快速数据录入。在用户界面中加入一些功能，这些功能可以让熟练用户在不同的区域快速的输入数据。这些功能包括重复功能、快捷键、带有有意义的图标的按钮等等，所有这些可以使速度快的用户可以控制界面并加快数据的输入。 除非必要，不要重绘屏幕。&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;15)&amp;nbsp;界面应该很简单（不是过分单纯化）、易于学习、并且易于使用。它还必须提供对应用程序的所有功能的访问。在界面中，扩大功能和保持简单是相互矛盾的。一个有效的设计应该平衡这些目标。支持简单性的一种方法是将信息的表示减少到进行充分交流所需的最少信息。例如，避免命令名和消息的文字描述。不相关或冗长的句子扰乱了您的设计，使得用户难以很容易地提取重要信息。另一个设计简单而有用的界面的方法是使用自然的映射和语意。界面元素的排列和表示影响它们的意义和关联。简单还与熟悉相互关联。熟悉的事物通常似乎更简单。尽可能尝试建立利用用户已有的知识和经历的联系。您可以使用渐进揭示来帮助用户管理复杂的事物。"渐进揭示"涉及到仔细的信息组织，以便只在恰当的时候才显示信息。通过隐藏向用户表达的信息，您减少了用户必须处理的信息数量。例如，您可以使用菜单来显示操作或选择的列表，还可以使用对话框来显示一组选项。渐进揭示并不意味着对显示信息使用非传统的技术，例如需要一个修饰键作为访问基本功能的唯一方法，或者强迫用户通过一个更长的分级交互序列。这会使用户界面更加复杂和麻烦。&lt;BR&gt;16)&amp;nbsp;美观。可视设计是应用程序界面的重要部分。可视属性提供了非常好的印象，并传达特定对象的交互行为的重要线索。同时，出现在屏幕上的每一个可视元素也是很重要的，它们可能竞争用户的注意。提供清楚地促进用户对表达的信息的理解的连贯环境。图形或可视设计器的技巧对于这一方面是无价的。&amp;nbsp;&lt;/FONT&gt; 　&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;还有好多条就不抄了。只能说该&amp;#8220;规范&amp;#8221;抄得太严谨认真了。&lt;BR&gt;真搞不懂咋能这么凑字数呢&lt;/P&gt;&lt;/FONT&gt;&lt;img src ="http://fish.cndev.org/aggbug/60360.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>问题</title><link>http://fish.cndev.org/archive/2009/11/11/60358.aspx</link><pubDate>2009-11-11 09:18:00Z</pubDate><guid>http://fish.cndev.org/archive/2009/11/11/60358.aspx</guid><wfw:comment>http://fish.cndev.org/comments/60358.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2009/11/11/60358.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/60358.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/60358.aspx</trackback:ping><description>&lt;P&gt;&lt;SPAN&gt;前台软件 - 网络(网线及交换机) - 后台软件 - 网络(网线及交换机) - 串口服务器 - 串口线 - 光端机 - 尾纤 - 配线架 - 光纤 - 配线架 - 尾纤 - 光端机 - 串口线 - 设备。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;如果前台软件不能正常控制设备，到底会是哪个环节引起的呢？&lt;/SPAN&gt;&lt;/P&gt;&lt;img src ="http://fish.cndev.org/aggbug/60358.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>出差</title><link>http://fish.cndev.org/archive/2009/10/25/60348.aspx</link><pubDate>2009-10-25 17:01:00Z</pubDate><guid>http://fish.cndev.org/archive/2009/10/25/60348.aspx</guid><wfw:comment>http://fish.cndev.org/comments/60348.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2009/10/25/60348.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/60348.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/60348.aspx</trackback:ping><description>八号出差，直到今天才能回来，也是中午到家，明天还得去。&lt;BR&gt;&lt;BR&gt;出差期间，因为软件都是俺一个人在搞，所以调试外场设备&lt;BR&gt;也跑不掉。期间，爬悬臂情报板门架和门架情报板的架子共&lt;BR&gt;计十几次，晚上过了十二点才回若干次，最晚到凌晨两点。&lt;BR&gt;至于九点能回来还算早的了。&lt;BR&gt;&lt;BR&gt;好在经过持续努力，软件都改得差不多了，设备也都调通了。&lt;BR&gt;理想的话，下周就可以组织验收了。当然，还得写若干手册。&lt;img src ="http://fish.cndev.org/aggbug/60348.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>签名</title><link>http://fish.cndev.org/archive/2009/08/24/60248.aspx</link><pubDate>2009-08-24 11:32:00Z</pubDate><guid>http://fish.cndev.org/archive/2009/08/24/60248.aspx</guid><wfw:comment>http://fish.cndev.org/comments/60248.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2009/08/24/60248.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/60248.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/60248.aspx</trackback:ping><description>今天在坛子里换了个签名:&lt;BR&gt;&lt;BR&gt;大家都是出来卖的，何苦自己人为难自己人&lt;BR&gt;那些活好的，或者活新的，或者花样多的，&lt;BR&gt;或者老板拉皮条功夫好能拉到肯多花钱的客的，&lt;BR&gt;拜托不要老是打击年老色衰的同行了&lt;img src ="http://fish.cndev.org/aggbug/60248.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>线缆故障</title><link>http://fish.cndev.org/archive/2008/12/10/59631.aspx</link><pubDate>2008-12-10 10:56:00Z</pubDate><guid>http://fish.cndev.org/archive/2008/12/10/59631.aspx</guid><wfw:comment>http://fish.cndev.org/comments/59631.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2008/12/10/59631.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/59631.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/59631.aspx</trackback:ping><description>我靠！

经过另找带串口的机器测试验证，证明前段时间自己买的USB转串口的线有问题。难怪周末加班调试设备总是有问题。

浪费俺猪多时间.......&lt;img src ="http://fish.cndev.org/aggbug/59631.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>软件版本老带来的烦恼</title><link>http://fish.cndev.org/archive/2008/12/04/59619.aspx</link><pubDate>2008-12-04 09:10:00Z</pubDate><guid>http://fish.cndev.org/archive/2008/12/04/59619.aspx</guid><wfw:comment>http://fish.cndev.org/comments/59619.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2008/12/04/59619.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/59619.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/59619.aspx</trackback:ping><description>&lt;P&gt;这几天给业主的各站服务器升级内存和硬盘阵列。&lt;BR&gt;&lt;BR&gt;其中一个站的服务器内存从 512 MB升级到了 2.5G。装完后重新&lt;BR&gt;启动，硬件没报错。俺习惯性地在系统的 Run 那里敲入 dxdiag，&lt;BR&gt;用 DirectX 带的这个检测工具来查看内存。结果显示只有 2G！&lt;BR&gt;&lt;BR&gt;啊？有问题？！&lt;BR&gt;&lt;BR&gt;拆服务器，除尘，再压紧点内存条。这些又花了不少时间。&lt;BR&gt;&lt;BR&gt;再开，再看。啊？还是 2G？&lt;/P&gt;
&lt;P&gt;怎么回事？犹疑之间，用电脑的属性查看了一下内存，确实是&lt;BR&gt; 2.5G 没错！&lt;BR&gt;&lt;BR&gt;再看看 DirectX 的版本，是 7.0 的。问题应该就出在这里了。&lt;BR&gt;估计是这个版本太老，只能认到 2G。&lt;BR&gt;&lt;BR&gt;一个版本问题，又浪费了不少的宝贵时间......&lt;/P&gt;&lt;img src ="http://fish.cndev.org/aggbug/59619.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>一个软件故障问题的根源</title><link>http://fish.cndev.org/archive/2008/08/26/59355.aspx</link><pubDate>2008-08-26 14:10:00Z</pubDate><guid>http://fish.cndev.org/archive/2008/08/26/59355.aspx</guid><wfw:comment>http://fish.cndev.org/comments/59355.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2008/08/26/59355.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/59355.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/59355.aspx</trackback:ping><description>&lt;P&gt;前段时间，在上个公司做过的项目的业主反映：系统自从某段&lt;BR&gt;时间以来就出现了问题。&lt;/P&gt;
&lt;P&gt;为这个事，上个公司的老同事和业主先后联系过我几回，有关&lt;BR&gt;日志文件我也看了。主要步骤就是：&lt;BR&gt;1. 省里的软件负责下发参数到中心接口库；&lt;BR&gt;2. 中心的软件负责启用中心接口库的新参数；&lt;BR&gt;3. 中心的软件在启用后负责下发这些新参数；&lt;BR&gt;&lt;BR&gt;关于第二和第三步，分别有参数管理软件和服务实现，其实就&lt;BR&gt;是一个手工处理和一个自动处理，本质上没有区别。&lt;BR&gt;&lt;BR&gt;由于系统已经稳定运行了一年多，最近才出现了问题。而正好&lt;BR&gt;这段时间省里面升级了软件系统，所以在故障根源的判断上有&lt;BR&gt;疑问。我心里是觉得他们的软件有问题。因为根据日志文件和&lt;BR&gt;有关软件反复分析，以前我们的软件应该没问题。&lt;BR&gt;&lt;BR&gt;今天省里的人和业主在现场联合处理，有了技术人员在场，事&lt;BR&gt;情应该好办一些。经过反复电话沟通方案，采取排除法等逐步&lt;BR&gt;处理。&lt;BR&gt;&lt;BR&gt;经过漫长的电话沟通处理，省里面的人证明了他们的软件没有&lt;BR&gt;问题。而业主方面，也用参数管理的手工方法处理证明了我们&lt;BR&gt;的软件中这几个功能没有问题。于是再测试服务程序的功能，&lt;BR&gt;此时发现服务程序启动不了了！&lt;BR&gt;&lt;BR&gt;于是....终于....就在此时，问题的根源就此被发现了，它就是：&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#ff0000&gt;服务程序的执行文件和参数配置文件一个多月前被人删掉了！&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://fish.cndev.org/aggbug/59355.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>SQL Server 2000 无法在 Win2003 SP2 中安装！</title><link>http://fish.cndev.org/archive/2008/05/11/58836.aspx</link><pubDate>2008-05-11 20:48:00Z</pubDate><guid>http://fish.cndev.org/archive/2008/05/11/58836.aspx</guid><wfw:comment>http://fish.cndev.org/comments/58836.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2008/05/11/58836.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/58836.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/58836.aspx</trackback:ping><description>&lt;P&gt;这几天一业主反应在他们新装的 Windows 2003 服务器上无法&lt;BR&gt;安装 SQL Server 2000，总是在最后拷完文件后配置时出错，&lt;BR&gt;说无法配置。查看他们发给俺的日志，好像是帐号问题。&lt;/P&gt;
&lt;P&gt;今天在 QQ 上给业主演示，为了更好地说明，俺把俺的测试&lt;BR&gt;机器上的 SQL 卸载了，然后边安装边截图说明情况。&lt;/P&gt;
&lt;P&gt;结果狠尴尬，到后来，发现俺自己也装不上了！出现了跟业&lt;BR&gt;主一样的情况。查看安装日志和数据库启动的日志，说是无&lt;BR&gt;法绑定到端口 1433 和 1434 上。&lt;/P&gt;
&lt;P&gt;一开始怀疑是防火墙，后来又怀疑机器人路过放养了马，但&lt;BR&gt;是检查后确信没事。期间，修改过若干设置，又反复安装若&lt;BR&gt;干次，结果都遭到了可耻的失败。&lt;/P&gt;
&lt;P&gt;......&lt;/P&gt;
&lt;P&gt;思考，到底俺当初装成功和现在失败的环境有何不同呢？&lt;BR&gt;&lt;BR&gt;SP2！&lt;/P&gt;
&lt;P&gt;于是，把系统的 SP2 先卸载了，再安装，结果一次成功！&lt;BR&gt;然后赶紧再重新打 SP2 补丁，以防机器人和其同伙路过。&lt;/P&gt;
&lt;P&gt;奇怪啊郁闷啊，又费了不少时间&lt;/P&gt;&lt;img src ="http://fish.cndev.org/aggbug/58836.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>乐观与悲观</title><link>http://fish.cndev.org/archive/2008/05/10/58831.aspx</link><pubDate>2008-05-10 22:06:00Z</pubDate><guid>http://fish.cndev.org/archive/2008/05/10/58831.aspx</guid><wfw:comment>http://fish.cndev.org/comments/58831.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2008/05/10/58831.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/58831.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/58831.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://hanlei.name/archive/2008/01/10/100818.aspx"&gt;http://hanlei.name/archive/2008/01/10/100818.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;看了 grhunter 的这篇 blog，俺在想：&lt;BR&gt;&lt;BR&gt;为啥领导们都总是那么乐观&lt;/P&gt;
&lt;P&gt;而俺这个写程序的却总是那么悲观......&lt;/P&gt;&lt;img src ="http://fish.cndev.org/aggbug/58831.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Fish</dc:creator><title>臭名远扬</title><link>http://fish.cndev.org/archive/2008/04/27/58768.aspx</link><pubDate>2008-04-27 11:09:00Z</pubDate><guid>http://fish.cndev.org/archive/2008/04/27/58768.aspx</guid><wfw:comment>http://fish.cndev.org/comments/58768.aspx</wfw:comment><comments>http://fish.cndev.org/archive/2008/04/27/58768.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://fish.cndev.org/comments/commentRss/58768.aspx</wfw:commentRss><trackback:ping>http://fish.cndev.org/services/trackbacks/58768.aspx</trackback:ping><description>某日，QQ上一前同事找俺，俺问啥事。答曰：女朋友&lt;BR&gt;写毕业设计，论文已写好，就差一软件。要求用VB写&lt;BR&gt;一个小数据库软件。&lt;BR&gt;&lt;BR&gt;我倒，连忙说VB俺不会。结果就这样了。&lt;BR&gt;&lt;BR&gt;某日，一前同事来电，俺问啥事。答曰：要写一个用&lt;BR&gt;.NET实现某某系统的三层方案。问俺有没有或者是否&lt;BR&gt;帮忙写一个。&lt;BR&gt;&lt;BR&gt;我倒，连忙说.NET俺不会。结果就这样了。&lt;img src ="http://fish.cndev.org/aggbug/58768.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>