反for-if编程模式

justjavac 发表于 2012-05-24

这些年来,我看到过大量的反编程模式。我感觉应该向大家分享一些。

今天,我要介绍的是被我称作反for-if编程模式的反模式「如果感兴趣可以查看一下这篇文章:for 循环为何可恨?」,也就是人们所说的”我们卖给你整个座位,但你需要的只是一个边。”

这是一个特殊的反for-case模式,其中所有的情况中只有一次会是null。

for (int i = 0; i < 100; i++) { if (i == 42) { do_something(i); } }

这种情况可以简单的写成

do_something(42);

这个反for-if模式可以表现成各种各样的形式。比如:

foreach (string filename in Directory.GetFiles(".")) { if (filename.Equals("desktop.ini", StringComparison.OrdinalIgnoreCase)) { return new StreamReader(filename); }...

为什么 ++[[]][+[]]+[+[]] = 10?

justjavac 发表于 2012-05-24

首先,问这个问题的人是个天才,他怎么会遇到这样的一个问题。 其次,回答这个问题的人更是一个天才,我难以想象他会回答这个问题,更难以想象的是,他的回答是如此的详细和丰富和完整,真正称得上诲人不倦。

既然遇到了这个问题,我们不妨也跟着提高一下。

这是一个Javascript语言题目,一个完全有效的等式,不信自己可以试一下,下面看看高人的题解:

++[[]][+[]]+[+[]]

如果把这段表达式拆分开来,它相等于:

++[[]][+[]] + [+[]]

在JavaScript里,+[] === 0 是完全正确的。 + 会把一些字符转化成数字,在这里,这个式子会变成 +”” 或 0。

因此,我们可以简化一下(++ 比 + 有更高的优先级):

++[[]][0] + [0]

因为 [[]][0] 的意思是:获取 [[]] 的第一个元素,这就得出了下面的结果:

  • [[]][0] 返回内部数组 ()。根据语言规范,我们说 [[]][0] === []...

博客排版要注意的五个问题

justjavac 发表于 2012-05-24

博客有一个好的版面不仅可以给人以感观上的享受,还可以增加搜索引擎的友好程度。 WordPress在网上能找到成千上万款风格迥异的主题(皮肤), 但是无论你选择哪一款主题在考虑其对搜索引擎友好程序的同时也应该考虑排版的易用性。

最近通过justjavac的博客大全访问了大量博客,发现在排版上有五个问题是最容易出现的。 这些排版中的问题会引起阅读时的障碍,建议在排版中应尽量避免。

1、文章标题不醒目

打开博客的首页第一眼不能分辨出哪是文章的标题,哪是文章的摘要。 一样的字体、一样的颜色和一样的字号。 有的经过仔细辩认才能看出这是一个标题,后面的是摘要。 如果单纯寻找一个标题都要花费30秒时间的话我是不会再看下去的,本来内容就不怎么吸引人。

因此建议,在博客的首页显示标题时要用大字号、加粗、彩色等来突出文章的标题或者超级链接,让别人第一眼就能分清主次并根据喜欢的内容点击。

2、首页图片太多

很多博客都喜欢在首页放大量的图片,每篇文章的标题下方跟着一幅漂亮的图片这是最常见的作法。 其实在我看来这并不可取。 首先,首页放置大量的图片会降低访问速度;其次,会让版面显得混乱。 试想一个14吋的笔记本显示器在打开你的博客后还能看到多少东西呢?

因此,如果首页一定要放置图片的话,我建议使用缩略图就可以200200px大小足够了,最好在摘要的一侧,不要把图片和文字混排

3、置顶内容太多,或者置顶标题与普通标题同一样式

很多博客都有置顶的东西,可能是对于博主来说是很重要的东西,也可能是公告一类的东西。 但是无论类内容的东西如果和普通文章没有区别就容易给读者带来困惑——打开你的文章发现这篇文章是N年前的东西, 还以为你的博客已经多年不更新了呢。 再说你置顶的那些东西未必人人都感兴趣。

所以建议博客最好不设置置顶的东西, 有很重要的内容完全可以在侧边栏用醒目的方法标注一下。 非要设置置顶,那要设置的和普通文章有区别,而且两者要隔开一定的距离。

4、太多的广告,博客成了杂货铺

很多博主都想通过博客来赚钱,这可以理解,但是不能把你的博客搞得跟广告联盟一样。 特别是在容易被误点的地方让人来点击。 投放的广告五花八门,也不管风格和整个博客的风格是不是一致,打开速度奇慢。 严重影响浏览者的心情。

其实我觉得投放广告完全可以,但是要有度,要注重和博客风格统一,要让别人主动点击而不是误导点击。

5、首页堆积了太多的东西,显得杂乱不堪

大家都知道首页的权重高,都知道内链的重要性,所以都在拼命地往首页上塞东西。...

10 个技巧助你写出卓越的jQuery插件

justjavac 发表于 2012-05-24

目前网络中存在大量能够实现各种功能的jQuery插件,有的插件表面上看很不错,但在实际使用过程中会出现很多问题。 而大多数插件只要再加入一点点额外的功能,就能从“优秀”变成“卓越”,并且有更广泛的用处。

本文针对jQuery插件的开发者列出了一些技巧,以帮助开发者写出更好的jQuery插件,并且这些技巧在插件的维护和扩展方面也有一定的作用。

1. 插件应该即开即用

这是我遇到的最大的问题,因此我将它放在第一个来讲。 插件就是插件,不需要用户再进行额外的设置和定义,应该有一个最基本的预设

$("#container").wTooltip();

jQuery的幻灯片放映插件就是个很好的示例,比如滑动的界面、上一个/下一个按钮等。 我曾经见过有的插件需要用户设定一个包含ID和class的DIV,然后再通过插件功能来引用它。 而实际上对于这种插件,应该直接设定好并提供启用/关闭选项。

2. 总是提供默认设置

一般插件都包括基础默认设置,因此,在开发插件时应提供一套默认值。 这肯定会提高开发者使用插件的机率,并扩大插件的知名度。

var defaultSettings = { mode : 'Pencil', lineWidthMin : '0', lineWidthMax : '10', lineWidth : '2' }; settings = $.extend({}, defaultSettings, settings ||...

为 jekyll 博客添加 category 分类

justjavac 发表于 2012-05-22

为了深化 jekyll 博客里面的内联关系,我们通常会对一篇文章进行分类,贴标签等,这样能做到文章的更好的区分和快速查找到相关文章。

假如您也想在你的博客上实现这样的效果(如右图), 请看下文。

categroy list

在某些地方,例如文章页面,你可能希望在侧边栏添加这样的功能。有一个分类目录,还能显示出分类文章的篇数。

一、为文章添加分类

在编辑一篇文章的时候,我们会在文章的头部写上一些 key 值, 同样的道理,我们可以为 这篇文章添加上 category 来分类。

 --- layout: post title: 为 jekyll 博客添加 category 分类 category: jekyll --- 

二、添加分类功能到你希望它出现的地方

在这里,你只需要把下面的代码拷贝到你的博客中,就能看到你添加的文章出现的分类了。...