用惯了Visual Studio,像被惯坏了孩子,很难适应别的IDE。

 

上个月Win7系统崩溃了,重装后,自然VS也没了。这次下定决心,绝对不在自己电脑上用VS了,于是重新捡起SharpDevelop,晚上下班后写写小代码足够用了,以自己现在这种经验,再受IDE的局限应该很小了。

 

用了最新SharpDevelop 5.1后,发现其一个很不错的功能,类似VS中自动添加命名空间,或实现接口成员,不过功能更强大,除了上述功能,还可以对优化代码作出提示。

 

这种提示是在每行的开头,会出现有个铅笔的图标,目前发现大体有这几个:

 

1. 函数名直接作委托参数

虽然Lambda表达式很方便,但是经常忽略了,如果表达式只是调用了一个函数,并且该函数参数和委托参数一致,就会提示你直接用该函数名,更为简洁。

 

2. 若要dispose,使用using

如果你代码中,创建一个使用Dispose模式的对象,在处理逻辑代码后调用Dispose方法,会提示你使用using,帮助你提高代码健壮性。

 

3. Any方法

Linq里面的Any方法,名字很让人迷惑,其实和List/Dictionary的Contains方法一样,应该是为了避免和这些类型固有的Contains方法冲突,但这样的结果,导致至少是我,很长时间内都没用过Any方法,而是用Count(n=>n>0) > 0这种方式判断集合内是否存在符合条件的元素。如果用了最新的SD,IDE会第一时间提示你改用Any方法,点赞!同时吐糟那个这个方法名。

 

新版的SV,还有个不错的地方,就是重写ToString方法时,会自动产生将属性用String.Format输出的代码。虽然是个小细节,可这些VS忽略细节如果多起来的话,或许大家会逐渐觉得,没了VS也能Coding完美世界。

SharpDevelop的亮点—优化提示的更多相关文章

  1. Android 性能优化提示

    原文 http://developer.android.com/guide/practices/design/performance.html 性能优化 Android应用程序运行的移动设备受限于其运 ...

  2. CentOS内核优化提示:cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录

    临时解决,重启失效 modprobe br_netfilter 为了开机加载上面这个模块 cat > /etc/rc.sysinit << EOF #!/bin/bash for f ...

  3. [MySQL Reference Manual] 8 优化

    8.优化 8.优化 8.1 优化概述 8.2 优化SQL语句 8.2.1 优化SELECT语句 8.2.1.1 SELECT语句的速度 8.2.1.2 WHERE子句优化 8.2.1.3 Range优 ...

  4. Android App 性能优化实践

    本文记录了Android App优化需要用到的工具和以及在实践中的Tips.也算对我这半年来部分工作的总结. 工具 Hierarchy Viewer 是 Android SDK 自带的 Layout ...

  5. Android布局优化

    前言 本篇文章为Android优化的布局部分,该部分应该是Android中很重要的,无论是在自定义控件中,还是在简单的书写布局时,都应该尽量遵循一些优化原则,这样布局的绘制效率才会更高,体验才能更好. ...

  6. magento性能优化

    magento性能优化 14个快速加载web页面的技巧: 减少HTTP请求数使用CDN增加过期头信息gzip压缩传输内容将css样式表放在页首将js文件放在页尾不使用css表达式尽量少用内联式的css ...

  7. magento性能优化的教程(非常详细)

    Magento是一套专业开源的电子商务系统,Magento设计得非常灵活,具有模块化架构体系和丰富的功能但有朋友会发现此模块用到了会发现非常的缓慢了,那么下面我们来看关于magento性能优化的例子. ...

  8. Android开发之布局优化

    1.抽象布局标签 (1) <include>标签 include标签经常使用于将布局中的公共部分提取出来供其它layout共用,以实现布局模块化.这在布局编写方便提供了大大的便利. 以下以 ...

  9. SQL优化策略高级优化经常使用-1(The Return Of The King)

    1 经常使用的优化策略 1.1    语句 1.1.1使用实际的列名 当我们查询SQL语句时.你是否觉得使用实际的列名比使用*更快呢?答案是肯定的. 为了证实这一点,感兴趣的朋友能够自己验证一下.我这 ...

随机推荐

  1. 如何在Python中实现这五类强大的概率分布

    R编程语言已经成为统计分析中的事实标准.但在这篇文章中,我将告诉你在Python中实现统计学概念会是如此容易.我要使用Python实现一些离散和连续的概率分布.虽然我不会讨论这些分布的数学细节,但我会 ...

  2. AngularJS中使用$resource

    这个服务可以创建一个资源对象,我们可以用它非常方便地同支持RESTful的服务端数据源进行交互,当同支持RESTful的数据模型一起工作时,它就派上用场了.      REST是Representat ...

  3. 将 List<UserInfo>中的对象按照UserInfo.name进行分组

    package yq; import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List; import ...

  4. VS2015 使用 Web Deploy 发布网站到 WindowsServer2008 R2服务器详解

    使用原因:由于开发期间需要将开发出的网站随时提交到服务器以便公司高层随时访问所以要求将开发出的网站每天发布到服务器,频繁度比较高,因此不能再使用之前的方式(发布到本地后再拷贝文件到服务器),所以想到了 ...

  5. PDO操作数据库

  6. VMWare虚拟机设置固定ip上网方法

    转自:http://blog.csdn.net/cyberrusher/article/details/7269795 1. 在VMWare工具栏中打开:编辑--->虚拟机网络编辑器, 打开VM ...

  7. 求空间内两条直线的最近距离以及最近点的坐标(C++)

    关键词:空间几何 用途:总有地方会用到吧 文章类型:C++函数展示 @Author:VShawn(singlex@foxmail.com) @Date:2016-11-19 @Lab: CvLab20 ...

  8. 搞清css的单位 px,em,rem的区别

    前言:现在上大街一眼望去,基本上90%的人都拿着手机,走路,逛街,吃东西都不停着,所以对于我们这种前端开发的程序猿来说,让网页适应于移动端可以说是必须要满足的.所以最近也是一直在学习和实践.然后就接触 ...

  9. LTE Manual ——Logging(翻译)

    LTE Manual ——Logging(翻译) (本文为个人学习笔记,如有不当的地方,欢迎指正!) 9 Logging   ns-3 日志功能可以用于监测或调试仿真程序的进展.日志输出可以通过 ma ...

  10. js 时间格式化 代码

    Date.prototype.Format = function (fmt) { //author: meizz              var o = {                 &quo ...