# JavaScript Expression Evaluator
Mathematical expression evaluator in JavaScript
This library is a modified version of Raphael Graf’s ActionScript Expression Parser.
[SilentMatt.com] ()
[GitHub] ()[Writing a simple expression evaluator] ()[JavaScript的表达式解析器] ()[Piaoger] 暂时用不上,但应该会用上的。
# 如何成为强大的程序员
10种阻碍程序员职业生涯发展的行为:
1. 害怕学不会新的工具、语言和框架
强大的程序员会拥抱那些挑战和机会,积极地学习新的工作方式。
2. 直到特性“完成”的时候才会提交。(但永远都不会完成!)
这种程序员没有足够的信心来承受团队中其他成员的批评和审查,因此会把自己的工作藏起来,直到“完成”状态才提交。因为团队看不到他每天的成果,而且他也不会在正常开发的过程中寻求帮助,这样就会造成很多“最后一分钟”的缺陷,从而让交付延迟。
强大的程序员会把代码经常自信地呈现在其他团队成员的眼前,获得批评和建议。3. 只是“知其然”会很危险
好的开发者不仅“知其然”,而且会了解为什么这么做以及应该在什么样的条件下使用。
4. 分析瘫痪(Analysis paralysis)
分析瘫痪是指在程序开发初期进行系统分析,常因为太过执着于控制所有可能的变化和意外,而造成大量时间的浪费,裹足不前.
而强大的程序员不会害怕,他们会编写很烂的代码,对其进行单元测试,如果认为无法达到目的,就会在45分钟之内把它抛弃。强大的程序员会积极地限制用来研究的时间,因为他们知道那是个陷阱——看起来是有效的,但经常都无效。
5. 没有对工具和开发过程投入
将你和普通的代码工人区分开来的是快速编写出生产级别代码的能力。你可以同时拥有好的代码和速度.
通常,你作为程序员所能够做出的最大改进并不是专注于你所编写的代码,而是优化你编写代码的过程。6. 羞于请求帮助
7. 不知道如何让其他程序员更容易使用你的代码
在所有技术团队中,工作很重要的一部分就是人员的并行(human parallelism),也就是多个人能够同时对同一代码库工作的能力.
编写可读的代码需要程序员改变他们的看法——你的代码要比你在组织中存在的时间长。8. 不知道如何阅读其他人的代码(或者不想读)
阅读代码要比编写代码还难,但是强大的程序员会投入时间来学习如何超越。
9. 不能从最终用户的角度编码(你考虑的范围太狭窄)
有句话说得好:作为程序员,你的工作不是解决技术问题,你之所以解决技术问题,是为了解决业务问题。
一般的程序员只会陷在技术问题之中,而不知道最初是为什么要解决这个问题。更严重的是,一般程序员无法从头开始创建出具有业务价值的东西。好的程序员会从最终用户的角度来看他们的代码。
10. 无法判断任何编程任务的业务价值
一般的程序员不会,他们只会拿着说明书,然后盲目地实现,直到结束,不关心他们的工作和公司的业务目标有什么关系,以及对其他团队和业务组会产生什么样的影响。这样,他们就会在业务价值很低的技术任务上浪费大量开发时间。 总结:如果你想要成为更好的程序员,那么就要从改变你看待代码以及编码的方式开始。你需要理解所编写的每行代码背后的业务成本;你需要从客户或者最终用户的角度来看待工作;你需要接受代码会比你在组织中存在的时间更长,所以要以其他开发者能够继承的方式来设计;最重要的,永远都不要害怕新的挑战,也不要害怕请求帮助,你无法独居一隅来提升工作效果,软件开发也是社会化的工作。
[InfoQ] ()
[10 Reasons Why You’re Failing to Realize Your Potential as a Developer]()
[Piaoger] 看看人家是怎么强大的,呵呵,我弱弱地摘抄下来。