﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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>C++博客-春暖花开-随笔分类-日常总结</title><link>http://www.cppblog.com/SpringSnow/category/11040.html</link><description>雪化了，花开了，春天来了</description><language>zh-cn</language><lastBuildDate>Tue, 16 Nov 2010 23:22:51 GMT</lastBuildDate><pubDate>Tue, 16 Nov 2010 23:22:51 GMT</pubDate><ttl>60</ttl><item><title>及时总结很重要</title><link>http://www.cppblog.com/SpringSnow/archive/2010/11/16/133834.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Tue, 16 Nov 2010 15:34:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2010/11/16/133834.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/133834.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2010/11/16/133834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/133834.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/133834.html</trackback:ping><description><![CDATA[<p>发现许久没有来园子里逛了，一来是工作了，的确很忙，二来是手的确有点懒。想写点东西，找来找去，还是对这个园子有感情。<br><br>最近发现懒惰真的是一个很容易养成的习惯，它会慢慢吞噬掉一切。就项目而言，压力的确比学生时要繁重许多，但条理性似乎更加重要。随手记下，随时总结总归是好的，一个回头，就不知道什么是时候是个头了。<br><br>所以半年多的经验来看，一定要及时的总结项目，要把最新鲜的，最热气腾腾的东西记录下来。<br>对自己回顾是一个帮助，对他人入门也是个捷径。<br><br>养成及时总结的习惯很重要。</p>
<img src ="http://www.cppblog.com/SpringSnow/aggbug/133834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2010-11-16 23:34 <a href="http://www.cppblog.com/SpringSnow/archive/2010/11/16/133834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个有关StretchBlt的问题</title><link>http://www.cppblog.com/SpringSnow/archive/2009/09/04/95326.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Fri, 04 Sep 2009 10:55:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/09/04/95326.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/95326.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/09/04/95326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/95326.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/95326.html</trackback:ping><description><![CDATA[今天遇到了很诡异的问题，最后把症结归到了StretchBlt这里。<br>尝试了很多方法，最后发现，是图片的大小问题。原图片的大小比较小，而设定图片的宽度和高度时用了很大的值，结果导致StretchBlt失败，从而界面刷新失效。改成较小的值则没有这样的问题。对于这个原因，没有想明白为什么？因为有两个紧挨着的语句都这么调用，在很多机型中都没有问题。但是在特定的机型中就会发生。一次调用成功，两次调用失败。这让人很恼火。<br><br>在调试的过程中，设备很容易死机。这么尝试几十次之后，真的有点发疯了。<br><br>还好，问题解决了。自己的理由找的也很充分。<br><br>但是这对么？<br>在SDK中，看到有这么一句：<br>If the source transformation has a rotation or shear, an error occurs. 原图片与设备不相符时，是否会发生剪切的行为呢？我这里只是猜测。<br>
<img src ="http://www.cppblog.com/SpringSnow/aggbug/95326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-09-04 18:55 <a href="http://www.cppblog.com/SpringSnow/archive/2009/09/04/95326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结：新角度来看问题</title><link>http://www.cppblog.com/SpringSnow/archive/2009/08/28/94681.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Fri, 28 Aug 2009 08:20:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/08/28/94681.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/94681.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/08/28/94681.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/94681.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/94681.html</trackback:ping><description><![CDATA[遇到问题的时候，要变换角度看问题，不能只盯着一处。<br><br>事情是这样的：我们新发布出去的产品发现了一个BUG，这个问题在测试阶段也遇到过，当时以手机的原因没有理会。但发出去后，发现很多用户使用中也用到了相同的问题。其中也有一款机型我见过。这让我很郁闷。什么原因呢？尝试了用户的操作发现，的确存在这样的问题。<br><br>原因还在查找中。所以在遇到问题的时候，一定要多方面的排查问题，不要轻易的将问题放过去。有可能会是一个痛。<br><br>生活中也有许多这样的例子吧。所以我们有时没有必要钻牛角尖。
<img src ="http://www.cppblog.com/SpringSnow/aggbug/94681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-08-28 16:20 <a href="http://www.cppblog.com/SpringSnow/archive/2009/08/28/94681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>代码审查的思考</title><link>http://www.cppblog.com/SpringSnow/archive/2009/08/20/93932.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Thu, 20 Aug 2009 10:00:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/08/20/93932.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/93932.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/08/20/93932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/93932.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/93932.html</trackback:ping><description><![CDATA[<p>项目要结项了，自然要进行一些审查的工作。不过我是那个被审查的。审查出的一些问题，还是值得反思的。<br><br>一是注释：虽然注释可有可无，但是良好的注释有助于提高代码的可读性。我们写代码的时候，有时候就比较懒，不写注释，或者写大多的注释。有的注释没有及时更新。这些都需要注意。<br><br>二是注释掉的代码没有删除。如果少量还好，但是在代码中存在这个问题。可能当时只是在修改BUG时的一个改动，但是修改成功后，应该及时删除这些代码。否则代码不是很美观。<br><br>三是一些测试代码依然存在代码中，虽然没有用到，但是让人多了很多迷惑。<br><br>四是名字起的不是很规范。<br><br>这是审查的那位大师简单一看就提出来的问题。有则改之，无则加勉。多多努力，让自己的代码更加漂亮起来。</p>
<img src ="http://www.cppblog.com/SpringSnow/aggbug/93932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-08-20 18:00 <a href="http://www.cppblog.com/SpringSnow/archive/2009/08/20/93932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UML画图工具</title><link>http://www.cppblog.com/SpringSnow/archive/2009/08/20/93931.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Thu, 20 Aug 2009 09:51:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/08/20/93931.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/93931.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/08/20/93931.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/93931.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/93931.html</trackback:ping><description><![CDATA[<p>最近在做项目总结，其中网络部分的处理比较麻烦，以后交接工作也牵涉很多。于是在下了很大决心之下，决定画一些图来理理网络协议的处理。呵呵，主要是对UML画图不是很熟。<br><br>最熟悉的UML画图工具是Microsoft Office Visio工具，以前尝试过，但是总觉得不方便。呵呵，没有用惯，自然就抱怨起来了。于是良方吧。<br><br>同事有推荐使用Rational的，不过可惜的是没有装成功。<br><br>恰逢公司有培训UML使用的，培训的是一位架构师，还好原来跟他沟通过。他给我了一个小工具，名叫Enterprise.Architect.7.0，这是一个轻便的UML画图工具。刚开始使用的时候真还找不到门路。慢慢摸索发现还是挺好用的。<br><br>如果你也跟我有同样的烦恼，不如尝试一下这个小工具。</p>
<img src ="http://www.cppblog.com/SpringSnow/aggbug/93931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-08-20 17:51 <a href="http://www.cppblog.com/SpringSnow/archive/2009/08/20/93931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结：效率问题</title><link>http://www.cppblog.com/SpringSnow/archive/2009/08/05/92308.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Wed, 05 Aug 2009 09:01:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/08/05/92308.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/92308.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/08/05/92308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/92308.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/92308.html</trackback:ping><description><![CDATA[<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近越来越感觉效率的重要性。为什么呢？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 写程序不仅仅是简单的实现功能。原来写代码时没有注意这些问题，现在暴漏出来了，也无计可施。多个功能再加界面，导致了界面很慢。用户体验不好。所以这需要在以后工作中引以为戒。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要把自己的代码写的漂亮一些。
<img src ="http://www.cppblog.com/SpringSnow/aggbug/92308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-08-05 17:01 <a href="http://www.cppblog.com/SpringSnow/archive/2009/08/05/92308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结：注意接口的调整变化</title><link>http://www.cppblog.com/SpringSnow/archive/2009/07/29/91573.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Wed, 29 Jul 2009 03:58:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/07/29/91573.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/91573.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/07/29/91573.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/91573.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/91573.html</trackback:ping><description><![CDATA[<p>今天在进行memcpy出现了一些问题。<br>原因是这样的：<br>我定义了这样一个接口，里面涉及memcpy操作。<br><br>举个例子吧，如接口addItem,<br>void addItem(int iType, LPVOID *pItem)；<br><br>里面有一个对象是TCHAR szStr[512];<br>我直接进行了这样的拷贝，memcpy(szStr, pItem, sizeof(szStr));<br>今天就出问题了。提示某块内存无法访问。于是重新看这个问题。为什么会这么写这样的接口呢？<br>我原先写的是 void addItem(int iType, TCHAR *pItem);<br>后来由于需求的变化，变成了LPVOID。改成这个以后，原先的字符串wcscpy就变成了memcpy。这个一直没有引起警觉。其实这一步的改变，就应该对接口做相应的调整，接口应该变为<br>void addItem(int iType, LPVOID *pItem, DWORD cbItem);<br>增加一个参数来说明pItem的大小。然而这一步没有做。<br><br>所以今天的教训就是要注意修改接口的时候，注意相应的变化。<br><br>还有是字符串的操作问题，宽字符和ASCII字符串的操作要注意。</p>
<img src ="http://www.cppblog.com/SpringSnow/aggbug/91573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-07-29 11:58 <a href="http://www.cppblog.com/SpringSnow/archive/2009/07/29/91573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结：述职报告的总结</title><link>http://www.cppblog.com/SpringSnow/archive/2009/07/16/90202.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Thu, 16 Jul 2009 01:37:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/07/16/90202.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/90202.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/07/16/90202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/90202.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/90202.html</trackback:ping><description><![CDATA[昨天进行了上一季度的述职总结，自己也罗列了自身的一些问题，如单元测试不充分，需求理解不透彻，等等问题。领导也针对我的总结提出了几点：<br>一是一定要重视需求。这个赞同。现在所作的项目频繁的需求变更压得有时不怎么重视需求。这点提得对。<br>二是一定要重视单元测试。这个赞同，的确单元测试做得不是很充分，就拉上了系统测试，暴漏了很多问题。<br>三是要有条理。这个赞同。首先我的述职报告条理性就没有别人的好。一二三看起来不是很分明。所以这点以后要多加改进。层次也突出不好。其次呢就是学习要有条理，不能什么都想学。一定要有条理的学习。<br>四是敬业精神。这个一开始不太好接受。自认为还比较敬业，主动发现问题和加班，敬业有佳。但回去思考了一晚，想想自己还真的不是很敬业，离真正的敬业还是很有差距的。主动发现问题，不只是一个方面，应该是多方面的，比如说原先代码的不合理处，自己清楚，却没有主动提出改进方案。这个不是很敬业。所以以后需要好好改进。<br><br>有这么多问题，所以一定要从自身找问题，积极改进。做一个积极向上的好人。
<img src ="http://www.cppblog.com/SpringSnow/aggbug/90202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-07-16 09:37 <a href="http://www.cppblog.com/SpringSnow/archive/2009/07/16/90202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结: 面向对象的思想</title><link>http://www.cppblog.com/SpringSnow/archive/2009/07/15/90108.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Wed, 15 Jul 2009 01:39:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/07/15/90108.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/90108.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/07/15/90108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/90108.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/90108.html</trackback:ping><description><![CDATA[昨天发现了一个问题,在我们发布的产品中的各个版本都有。这是一个很棘手的问题。还好，已经有人对问题代码进行了优化。<br>但是问题又出来了，优化的代码的接口变了。这又是问题。<br>此时我就想把他的代码改呀改，或者改我自己的代码，以便利用他优化后的代码。发现还是错了。<br><br>此时，经验丰富的大师会告诉我利用派生，封装。这的确是一个好办法。看来面向对象的思想还没有深入到我的骨髓，不能很好的体会和运用。<br><br>这是昨天的一点收获。拿到别人的代码不要着急去改，如果要用的话，要学会派生和封装，否则改坏了代码，维护代价会更大的。<br>不过收获归收获，代码封装真的不是很好做，我最后还是放弃了。对比代码的不同，进行修改。有些东西需要搞懂原理，这才是根本。<br><br>
<img src ="http://www.cppblog.com/SpringSnow/aggbug/90108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-07-15 09:39 <a href="http://www.cppblog.com/SpringSnow/archive/2009/07/15/90108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结: 工作要仔细</title><link>http://www.cppblog.com/SpringSnow/archive/2009/07/10/89734.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Fri, 10 Jul 2009 08:43:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/07/10/89734.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/89734.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/07/10/89734.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/89734.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/89734.html</trackback:ping><description><![CDATA[有一个内存泄露的问题，折腾了我很长时间了，这个问题存在，也确确实实是内存泄露了。把代码查了一遍又一遍，就是没有看出什么问题，也想了很多方式方法，似乎也都不见效。<br>怎么办呢？<br>今天都在想是不是指针被修改了，造成的问题。<br>发现少打印了一处，奇怪，为什么没有走到那里？原来前面一个出错判断，我直接返回了，没有走到删除的那一步。哈哈，终于被我找到了。<br><br>分析了一下原因：<br>1、代码的问题。代码处理的逻辑还未负责，对此就有了遗漏。建议利用goto，最后做一些删除的处理。这个道理明白，有时用起来就忘了。<br>2、用心的问题。应该及早的发现该问题，但还是没有认真的对自己的代码进行审查造成的。所以以后要走到自己的代码里面调，尽快发现问题。<br><br>加油！不要再犯了。
<img src ="http://www.cppblog.com/SpringSnow/aggbug/89734.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-07-10 16:43 <a href="http://www.cppblog.com/SpringSnow/archive/2009/07/10/89734.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作总结：如何解决BUG</title><link>http://www.cppblog.com/SpringSnow/archive/2009/06/29/88804.html</link><dc:creator>Sandy</dc:creator><author>Sandy</author><pubDate>Mon, 29 Jun 2009 10:44:00 GMT</pubDate><guid>http://www.cppblog.com/SpringSnow/archive/2009/06/29/88804.html</guid><wfw:comment>http://www.cppblog.com/SpringSnow/comments/88804.html</wfw:comment><comments>http://www.cppblog.com/SpringSnow/archive/2009/06/29/88804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/SpringSnow/comments/commentRss/88804.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/SpringSnow/services/trackbacks/88804.html</trackback:ping><description><![CDATA[今天解决了两个BUG，但是原因都是自身的原因。<br>第一个BUG是由于修改，一份代码发生了变化，另一份代码没有相应进行变化，导致了BUG的发生。可能你也很好奇为什么有两份代码呢？一个是加长版，一个是缩减版。主要是另一个地方只用到了一个功能，而这个功能又牵涉了一些小函数，都搬过去感觉有些臃肿。但是不搬过去就存在了这种情况，两个代码不统一。<br><br>不知道怎么解决这个情况，也只能维持现状，保持两段代码了。不过需要人为的维护代码了。<br><br>第二个BUG主要是细心的问题吧。new很隐蔽，导致没有释放，这样造成了内存泄露，进而引发了数据读取的异常。这个类似的BUG见过一些了。内存泄露还是一个值得注意的大问题。所以要好好检查一下代码。<br><br>就写这么多吧。
<img src ="http://www.cppblog.com/SpringSnow/aggbug/88804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/SpringSnow/" target="_blank">Sandy</a> 2009-06-29 18:44 <a href="http://www.cppblog.com/SpringSnow/archive/2009/06/29/88804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>