摘要: 之前,在使用异常捕获语句try...catch...throw语句时,一直没太留意几种用法的区别,前几天调试程序时无意中了解到几种使用方法是有区别的,网上一查,还真是,主要是区别在堆栈信息的起始点不同。总结如下:我们都知道,C#中使用throw和throw ex抛出异常,但二者是有区别的。在C#中推荐使用throw;来抛出异常;throw ex;会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正的错误源。throw的用法主要有以下几种:第一种(不推荐使用,可惜很多人都一直这么用的,包括俺,嘻嘻),这样适用会吃掉原始异常点,重置堆栈 阅读全文
posted @ 2012-09-24 01:13 Jerry Tian 阅读(30080) 评论(60) 推荐(50) 编辑
摘要: 使用StyleCop进行代码审查工欲善其事,必先利其器,上篇简单介绍了怎样使用Astyle进行代码格式化,使编写的代码具有一致的风格。今天简单介绍下怎样使用StyleCop对原代码进行审查,看编写的代码是否遵循设计规范、.Net约定和一些贯用法等。保证代码的一致性,可读性等等。在此之前,先简单介绍下FxCop(起初只是微软内部使用的工具),一个分析托管程序集,检测代码的总体正确性的工具,告诉用户哪些地方不符合设计规范。他使用的评估规则已经发展了多年,凝聚了顶尖.Net框架开发人员的知识和技术。但是FxCop是基于托管代码分析的,即编译后的程序集。今天我们介绍的StyleCop同样是用来检查代码 阅读全文
posted @ 2012-09-22 02:12 Jerry Tian 阅读(15872) 评论(10) 推荐(6) 编辑
摘要: 使用AStyle进行代码格式化在日常的编码当中,大家经常要遵照一些设计规范,如命名规则、代码格式规范等等。或者大家在看一些别人写的代码时,若代码格式不是很规范时,看起来是比较麻烦的。今天就给大家介绍一款名为AStyle的代码格式化工具,Astyle是一个开源代码格式化工具,可以使大家在日常开发中非常方便的调整大家的代吗格式。支持多种开发语言,支持多种格式化风格,本文主要简单介绍下怎样通过简单的几个步骤同Visual Studio的IDE进行集成,进行代码格式化。好了,入题:第一步。下载最新版本的Astyle.当前最新版本是Artistic Style 2.02.可以使用以下连接下载最新版本:h 阅读全文
posted @ 2012-09-20 00:29 Jerry Tian 阅读(20041) 评论(6) 推荐(4) 编辑
摘要: Sql效能优化总结(续)- sql语句优化篇今晚继续进行Sql效能问题的分享,今天主要是一些具体的sql优化方法和思路分享,若看过后你也有其他想法,欢迎一起探讨,好了,进入今天的主题。针对性地对一些耗资源严重的具体应用进行优化出现效能问题时,首先要做的是什么?这个问题我问过不少同事,有人说凭经验对出问题的sql进行优化,如我们一般说的要合理使用索引,尽量不要使用前面带*号的Like语句,不要再比较操作符前边进行计算或使用函数等等,这些道路都是对的,但经验有时候不一定能解决问题。问题出现时,首先要做的是确定问题点是什么,只有正确的找到问题后才能有针对性的解决问题。下面简单介绍我们一般从哪些角度入 阅读全文
posted @ 2012-07-03 01:58 Jerry Tian 阅读(20517) 评论(8) 推荐(15) 编辑
摘要: Sql效能优化总结(续)-架构调整篇看到几个博友对笔者的这个话题挺感兴趣,今天终于可以静下心来继续总结,废话少说,入正题。从SQL Server2005到SQL Server 2008和现在的SQL Server2012,微软好像一直没有推出负载均衡组件,如类似Oracle RAC的技术,不能实现负载均衡。由于数据库的高并发及横向扩展是经常遇到的问题,不少用户遇到这样的情况时考虑的方案是移植到Oracle平台,采用RAC来解决问题。这是个很艰难的过程,成本相信也将是巨大的。也考虑过一些第3方方案。如:Moebius等,由于具多限制,也未能采用。所以只能利用MS现有技术了,介绍前先简单提下MS的 阅读全文
posted @ 2012-06-30 14:26 Jerry Tian 阅读(3946) 评论(1) 推荐(6) 编辑
摘要: Sql效能优化总结前一段时间公司系统遇到了严重的系统效能问题,经过一段时间的努力,现在已缓解了不少,今天抽空总结下,希望能起到抛砖引玉的作用,若你也遇到同样的问题,不妨多交流下。环境:Windows2003+Sql2005一直以来,不断的系统维护,新功能的增加,和一些新系统的应用,已经使现有的数据服务器不堪重负,虽然服务器的硬件配置已经比较顶级(一般的企业不会有这么顶级的配置),但还是逐渐难以应付大量的数据响应。用户也逐渐开始投诉系统效能问题。这个问题是一路积累出来的,现在浮出水面而已。其中一些旧系统当中使用的sql语句存在严重的效能问题,只是以前的应用相对较少,服务器可以轻松应付,现在随着应 阅读全文
posted @ 2012-06-21 23:43 Jerry Tian 阅读(1838) 评论(4) 推荐(1) 编辑
摘要: 面向过程&面向对象面向过程和面向对象其实都是一种软件技术,我们一般把面向过程归纳为结构化分析方法,常使用DFD图、ER模型、UC矩阵等,把面向对象则归纳为继承、封装、多态等具体技术,事实上,所有的技术都只是人们采用不同方法来认识和描述这个世界时所采用的工具。我们引用Booch的话:我对面向对象编程的目标从来都不是复用,相反,对我来说,对象提供了一种处理复杂性问题的方式,这个问题可以追溯到亚里士多德:你把这个世界视为过程还是对象?在面向对象兴起运动之前,编程以过程为中心,如结构化设计方法。然而,系统已经达到了超越其处理能力的复杂性极点。有了对象,我们能够通过提升抽象级别来构建更大的、更复 阅读全文
posted @ 2011-04-07 02:19 Jerry Tian 阅读(3379) 评论(2) 推荐(2) 编辑
摘要: 迭代模型百科名片 迭代模型思想示意图早在20世纪50年代末期,软件领域中就出现了迭代模型。最早的迭代过程可能被描述为“分段模型(stagewise model)”。迭代模型是RUP推荐的周期模型。被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。目录编辑本段什么是迭代模型 在现代过程方法XP(eXtrem 阅读全文
posted @ 2011-04-03 15:49 Jerry Tian 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 瀑布模型为设计项目的规划提供了清晰的步骤,为日程规划和进度评估定义了明确的阶段里程碑。它为项目组合人员配备指明了方向。它改进了设计团队的内部沟通。新手很容易就可以上手。设计师只把理性模型视为一种理想化的东西。我们在初始阶段并不真正地知道目标是什么,设计中最困难的部分在于决定要设计什么下面分享Frederick P. Brooks一个小故事,加以说明:当我还是个学生时,有一个暑假去替一家很大的军火商打工,在那里我被指定去设计和构建一个小型数据库系统的工作,用以跟踪某个雷达子系统的上万张图纸以及其中每一张图纸的更新状态。过了几个星期,我做出来了一个可以运行起来的版本。我自豪地向我的客户演示了一个输 阅读全文
posted @ 2011-03-28 00:22 Jerry Tian 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 最近在整理部门内部的培训材料,希望通过培训和在项目中的实践来提升整个团队的分析和设计能力,同时也是自己所了解的一点知识的总结。谈到软件开发,一个项目的成败,关键因素是人的因素,人就是一切,或者说几乎是一切。对于项目的成功来所,项目人员的素质、人员的组织和管理是比其它工具或技术方法更重要。团队质量直接决定项目的成功和失败,团队的沟通能力,协作能力尤为重要,一个高效的团队一定是沟通能力很强的团队,我们所从事的软件项目,其实不是在研发新技术,而是利用别人的研究成果而已,只是成果的应用,说白了没有什么“纯”技术含量,这里纯加了引号,如今是个知识爆炸的时代,互联网高度发达,你需要什么信息,只要有时间,一 阅读全文
posted @ 2011-03-24 02:00 Jerry Tian 阅读(338) 评论(0) 推荐(0) 编辑