文/朱季谦 说实话,其实我很讨厌在代码里大量使用if-else,一是因为该类代码属于面向过程的,二嘛,则是会显得代码过于冗余.这篇笔记,主要记录一些自己在工作实践当中针对if-else的优化心得,将会不定期地长期更新. 一.使用策略枚举来优化if-else 看到网上蛮多人推荐使用策略模式来优化if-else,但我总觉得,搞一堆策略类来优化if-else,虽然想法很好,但无意之中很可能又会创造出很多类对象,就显得过于重量了.其实,若想使用策略模式来优化if-else,其实有一种更好的方式,这是策略…
C++刷题精髓在STL编程,还有一些函数.下面我就总结一下本人在刷题过程中,每逢遇见总要百度的内容………………(大概率因为本人刷题太少了) 1. map map<string, int> m; map<int, int> m; key-value一一对应,一个key只能有一个value,且m按key自动排序 begin()          返回指向map头部的迭代器clear()         删除所有元素count()          返回指定元素出现的次数empty() …
2.针对Focused的TextView跑马灯(文字较多一行无法显示)效果 针对单个TextView的跑马灯效果,可直接在TextView控件参数中添加三个属性: android:singleLine="true"(一行显示会有省略号) android:ellipsize="marquee"(一行显示无省略号) android:focusable="true" android:focusableInTouchMode="true&quo…
 从linux内核中学到的编程技巧  分类: LINUX 1构建泛型宏 (./linux/include/linux/kernel.h) #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) 大家看了就明白是什么意思了.但是我还有几点疑问:(1)(void) (&…
原文地址:http://www.imooc.com/wenda/detail/243523 JavaScript脚本库是一个预先用JavaScript语言写好的库,它方便了我们开发基于JavaScript的应用程序,特别适合AJAX和其他一些以Web为中心的技术.JavaScript主要用于编写嵌入或者包含在HTML页面的函数,从而实现DOM之间的交互. 这篇文章收集了15个可用于提高编程技巧的JavaScript工具,助你轻松快速完成工作.下面的这些JavaScript工具能让你管理Javas…
BASH的保护性编程技巧   shell常用逻辑判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 -e file 若文件存在,则为真 -f file 若文件存在且是一个规则文件,则为真 -g file 若文件存在且设置了SGID位的值,则为真 -h file 若文件存在且为一个符合链接,则为真 -k file 若文件存在且设置了"sticky"位的值 -p file 若文件…
异步回调是js的一大特性,理解好用好这个特性可以写出很高质量的代码.分享一些实际用的一些异步编程技巧. 1.我们有些应用环境是需要等待两个http请求或IO操作返回后进行后续逻辑的处理.而这种情况使用回调嵌套代码会显得很难维护,而且也没有充分使用js的异步优势. 看下实例(为了大家容易理解使用了jq作为示例) $.get("获取数据1.html",function(data,status){ $.get("获取数据2.html",function(data1,sta…
(一).[Java并发编程]并发编程大合集-兰亭风雨    [Java并发编程]实现多线程的两种方法    [Java并发编程]线程的中断    [Java并发编程]正确挂起.恢复.终止线程    [Java并发编程]守护线程和线程阻塞    [Java并发编程]Volatile关键字(上)    [Java并发编程]Volatile关键字(下)    [Java并发编程]synchronized关键字    [Java并发编程]synchronized的另个一重要作用:内存可见性    [Ja…
目录 5.4.1 查询符合条件的单条记录 EF使用SingleOrDefault()和Find()两个方法查询符合条件的单条记录. 5.4.2 Entity Framework中的内部数据缓存 DbSet.Local属性所引用的数据集合,缓存了从数据库中提取的数据,同时包容了用户对这些数据所做的修改.本讲视频介绍了访问这一数据缓存的基本编程技巧和注意事项.并且对如何提升数据库应用程序的性能提了一些建议:使用MemCache等第三方缓存系统,直接发送SQL命令到数据库,或者使用ADO.NET绕开E…
VC多文档编程技巧(取消一开始时打开的空白文档) http://blog.csdn.net/crazyvoice/article/details/6185461 VC多文档编程技巧(取消一开始时打开的空白文档) 在MDI程序中,当应用程序启动时,都会自动创建一个空白窗口.但有时我们并不希望创建这样的空白窗口.比如,对于一个文件浏览器来说,空白窗口就没有什么意义. 要防止空白窗口的创建,首先就要明白这个窗口是如何被创建的.在 InitInstance()中,有一个命令行的执行过程,当命令行上没有参…