你今天开始使用的5种JavaScript debugging技巧

我过去一直用printf debugging,好像常常很快就可以解决我的bug。

有时候需要更好的工具,下面是一些,我确定你会发现它们的好处:

1.debugger

以前提到过,你能够在代码里用“debugger”声明来强迫产生一个断点。

需要一个有条件的断点吗?仅仅把它放在if语句里:

if (somethingHappens) { debugger; } 

需要记得上线之前移除它们。

只是一个网页?

或者,为什么在Medium做一名工程师

当人们想象在Medium的工作情景时,他们可能想到我们有才华的创始人或者亲切的办公室。他们或许读过我们的《不同的组织架构》或《mindful perks》。他们或许把伟大的设计和Medium联系起来,他们关心我们的愿景

做为一名工程师,这一切听起来很美,但更重要的是,他或她渴望解决困难的或有趣的技术问题。表面看,Medium好像不会有太多问题——“他只是一个内容网站”,对吗?但这不是全部。让我们看看目前我们面临的一些挑战。

推荐

我们急切想帮助Medium上的所有故事能够找到合适的观众。这意味要帮助好的内容排到前面,不管作者是谁、何时发布。我们降低了时效性,用质量取代,想让最好的、最相关的文章浮现给读者。但是你该怎样写出一个算法来决定质量呢?

目前我们采用各种因素来为读者鉴别最好的文章,通过阅读历史的组合,推荐,社会化关系和最近活动。

但是还有很多要做的工作。

我们是如何认定两年前的一篇文章与最近的事件是相关的呢?我们是如何在早上刚上班推送两分钟的阅读,在慵懒的周日却是30分钟的文章呢?我们是如何揭开背后的秘密呢?

写作工具

我们已经从在线编辑那里收到了很多表扬。我们致力于使其简单易用,同时让你讲美丽的故事。

在封面下面,你正在编辑一个抽象的数据模型,比HTML有更多的约束。编辑被作为与基本模型相对的deltas存储,允许简单的合并,较小的负荷与简单的版本控制。

...

编程和否定

我的叔叔是一名教师。在我小的时候,他经常不自觉进入“教师模式”,甚至没有学校的设施。他不仅仅给我们训话(我很高兴他能训话),而且他试着用纪律约束我们,就好像我们是在教室里。假期里还得写日记,这不好玩。

换句话说,我们经常忘掉我们无意之间从工作中收获的太多东西。

本周Github发布了一款新文本编辑器。我还没有试用,就已经听到了很多关于它的负面反应(“它是webkit,它会很慢的”,“为什么你更加愿意用coffeescript”等等)。几个月前我看过非常相似的对于LightTable的反应

做为程序员,我们大部分工作时间花在了电脑前面,尽量搞清楚某样东西的意思,为什么这个糟糕的API出现异常以及恶心的IE等。我们习惯了总是担心潜在的瑕疵。当你设计一个系统时,这是好事,但是一段时间以后,它变成了你用在各个地方的习惯。我知道我就是这样的。

因此我想提醒每个人(实际上主要是我,既然我的blog好像有一个半读者了),我们很容易陷入一天天的工作当中,而忘记了从一开始电脑上什么东西在吸引着我们。魔法。让机器按照你的想法、比你要快地工作的能力。解决难题的乐趣。

这些人试图提高我们机器的极限,因此不要恨他们。

这段Alan Perlis引言公开在SICP上【注1】:

我认为在计算机科学领域我们保持对计算机运行的乐趣是相当重要的。 起初它充满了乐趣。当然,付费客户时不时地被骗,不久我们开始认真对待他们的抱怨。我们开始觉得对于成功的、零错误地使用这些机器真的是我们的责任。 我认为不是这样的。我认为我们应负责让他们利用机器,朝着新的方向起步,并在屋里保持乐趣。我希望计算机科学领域从来都不要失去乐趣的感觉。 最重要的是,我希望我们不要变成传教士。不要觉得好像你是圣经推销员。世界上已经有很多了。

原文地址:http://khamidou.com/programming-and-negativity.html 注1:SICP:http://zh.wikipedia.org/wiki/计算机程序的构造和解释