zoukankan      html  css  js  c++  java
  • Rob Pike 编程五原则

    Rob Pike's 5 Rules of Programming

    Rule 1: You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.

    Rule 1: 你无法说出程序运行所花费的时间。 意外之处出现瓶颈,因此不要去尝试猜测和加快速度直到你已证明这就是瓶颈所在。

    Rule 2: Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.

    Rule 2: 测量。 不要调整速度直到你已进行测量,即使这样也不能,除非代码的一部分能够覆盖其余部分。

    Rule 3: Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.)

    Rule 3: 当n小时,花哨的算法很慢,n通常很小。花哨的算法有很大的常量。不要幻想除非你确切知道n在频繁的变的很大。(即使n确实变大,首先使用Rule 2)

    Rule 4: Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.

    Rule 4: 花式算法比简单算法笨拙,并且他们实现更加困难。 使用简单的算法以及简单的数据结构。

    Rule 5: Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

    Rule 5: 数据占主导地位。 如果你已选择正确的数据结构且正确组织他们,那么算法几乎总是不言而喻的。数据结构而非算法,是编程的核心。

    Brief Notes
    Pike's rules 1 and 2 restate Tony Hoare's famous maxim "Premature optimization is the root of all evil."

    Ken Thompson rephrased Pike's rules 3 and 4 as "When in doubt, use brute force.". Rules 3 and 4 are instances of the design philosophy KISS.

    Rule 5 was previously stated by Fred Brooks in The Mythical Man-Month. Rule 5 is often shortened to "write stupid code that uses smart objects".

    Who is Rob Pike?
    Rob Pike, is now a Distinguished Engineer at Google co-authoring Go programming language, apart from other things. Prior to this stint, he worked at Bell Labs as a core member of the Unix Team.
    Author of popular books like The Practice of Programming and Unix Programming Environment

    • Rob Pike,一个卓越的工程师,除其他工作外,在Google合作开发Go编程语言。在此之前,在贝尔实验室作为Unix团队核心成员。

    • The Practice of Programming and Unix Programming Environment等畅销书作者。

    References
    Content is shamelessly copy-pasted from http://users.ece.utexas.edu/~adnan/pike.html
    Posted by Karthik Sirasanagandla at Sunday, September 17, 2017
    Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
    Labels: clean code, Performance, programming, ProTips

    http://blog.codonomics.com/2017/09/rob-pikes-5-rules-of-programming.html

    ---恢复内容结束---

    Rob Pike's 5 Rules of Programming

    Rule 1: You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.

    Rule 1: 你无法说出程序运行所花费的时间。 意外之处出现瓶颈,因此不要去尝试猜测和加快速度直到你已证明这就是瓶颈所在。

    Rule 2: Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.

    Rule 2: 测量。 不要调整速度直到你已进行测量,即使这样也不能,除非代码的一部分能够覆盖其余部分。

    Rule 3: Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.)

    Rule 3: 当n小时,花哨的算法很慢,n通常很小。花哨的算法有很大的常量。不要幻想除非你确切知道n在频繁的变的很大。(即使n确实变大,首先使用Rule 2)

    Rule 4: Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.

    Rule 4: 花式算法比简单算法笨拙,并且他们实现更加困难。 使用简单的算法以及简单的数据结构。

    Rule 5: Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

    Rule 5: 数据占主导地位。 如果你已选择正确的数据结构且正确组织他们,那么算法几乎总是不言而喻的。数据结构而非算法,是编程的核心。

    Brief Notes
    Pike's rules 1 and 2 restate Tony Hoare's famous maxim "Premature optimization is the root of all evil."

    Ken Thompson rephrased Pike's rules 3 and 4 as "When in doubt, use brute force.". Rules 3 and 4 are instances of the design philosophy KISS.

    Rule 5 was previously stated by Fred Brooks in The Mythical Man-Month. Rule 5 is often shortened to "write stupid code that uses smart objects".

    Who is Rob Pike?
    Rob Pike, is now a Distinguished Engineer at Google co-authoring Go programming language, apart from other things. Prior to this stint, he worked at Bell Labs as a core member of the Unix Team.
    Author of popular books like The Practice of Programming and Unix Programming Environment

    • Rob Pike,一个卓越的工程师,除其他工作外,在Google合作开发Go编程语言。在此之前,在贝尔实验室作为Unix团队核心成员。

    • The Practice of Programming and Unix Programming Environment等畅销书作者。

    References
    Content is shamelessly copy-pasted from http://users.ece.utexas.edu/~adnan/pike.html
    Posted by Karthik Sirasanagandla at Sunday, September 17, 2017
    Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
    Labels: clean code, Performance, programming, ProTips

    http://blog.codonomics.com/2017/09/rob-pikes-5-rules-of-programming.html

  • 相关阅读:
    第二章作业
    算法第五章作业及学期总结
    71 最大子列和问题 | 采用二分法+递归
    算法第一章作业
    算法第四章作业
    算法第三章作业
    Windows charles安装、配置及Android手机ca证书
    git出现fatal: Authentication failed for 'http:xxxx.git/''错误的解决办法
    如何用c#将十六进制转换成字符串?
    系统配置win7(64位),vs2010,没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  • 原文地址:https://www.cnblogs.com/ycyoes/p/8227812.html
Copyright © 2011-2022 走看看