7种JavaScript技巧使你更聪明

让其他人恶心你

1.总是颠倒逻辑

让我们从一个小优化开始,目的是为了使得非常简单的操作看起来复杂些。

if (x && y) { … } // bad if (!(!x || !y))...
    

UTF-8 Everywhere(节译)

文档宗旨

为了扩大使用和支持UTF-8编码,为了坚信它应该作为存放在内存或磁盘上的默认编码选择,无论商业还是其他方式,我们相信所有其它Unicode编码(通常是文本)应该被归入优化的很少发生的极端情况,也应该被主流用户无视。

特别地,我们相信API类库(处理文本的特定类库除外)不支持有些流行的UTF-16编码(在Windows里,它被错误地当作’widechar‘和’unicode‘的同义词来用)。

由于历史原因以及缺乏API对内置UTF-8的支持,这个标准还不太受欢迎,不管如何,这个文档推荐选择UTF-8用作Windows应用程序的文本存储。并且我们相信即使在这个平台,下面的内容仍然 比 内建支持的缺乏 重要。同样,我们建议永远忘掉’ANSI 代码页‘是什么以及它们的用法。在任何文本字符串混合任意数量的语言是客户的权力。

我们建议避免依赖_UNICODE定义的C++应用程序代码,这包括Windows的TCHAR/LPTSTR类型和定义在宏里的API,比如CreateWindow。我们也建议用替代方法来完成这些API具有的功能。

我们也相信,如果应用程序不应该处理文本,那么配套功能必须使得 程序无需考虑编码问题 成为可能。例如,一个文件拷贝工具集不应该为了支持非英语文件名而按照不同的方式来编写代码。Joel关于Unicode的大作给初学者解释得很好,但是它缺乏最重要的部分:如果一个程序员没有注意到字符串里有什么,他应该如何做。

原文地址:http://www.utf8everywhere.org

MVP是什么?(Minimum Viable Product)

几周前我们有幸请到Will Dayble在办公室里给我们分享了关于app设计和MVP【注】的理念。Will因其《User is Drunk》视频而知名。

激情是很好的东西,当你产生一个伟大的好想法时,规划你的第一个版本是非常诱人的。你想让整个过程动起来,对吗!?

问题是,复杂工作失败的原因是不同的。如果你曾经看过那么一部“空难调查”电视节目,你会对 现代飞机上多么不起眼的问题就能够潜在地带来事故 有更深的理解。

莱特兄弟与MVP

莱特兄弟第一架飞机就是构建MVP最好的例子。可以肯定的是,他俩并不是为了著名的首次飞行,而是坚持把仪表盘和带有轮子的手推车装配到早期的飞行器上。感谢他们遵循MVP而集中精力于最基本的功能,然后才有了航空史。

来看看Will是如何演示把你的项目精简到骨架的必要过程的。

希望你能喜欢。

原文地址: