软件工程大报价

There are some great quotes I’ve been collecting.

我一直在收集一些很棒的报价。

I use them as inspiration or motto for some articles.

我将它们用作某些文章的灵感或座右铭。

软件设计 (Software Design)

There are only two hard things in Computer Science: cache invalidation and naming things.

在计算机科学中只有两件难事:缓存无效和命名。

Phil Karlton

菲尔·卡尔顿

Make illegal states unrepresentable.

使非法国家无法代表。

Yaron Minsky

亚伦·明斯基(Yaron Minsky)

First make the change easy (warning: this might be hard), then make the easy change.

首先使更改变得容易(警告:这可能很难),然后使更改变得容易。

Kent Beck

肯特·贝克

Simple things should be simple, complex things should be possible.

简单的事情应该简单,复杂的事情应该可能。

Alan Kay

艾伦·凯

Before software can be reusable it first has to be usable.

在软件可重用之前,它首先必须是可用的。

Ralph Johnson

拉尔夫·约翰逊

Simplicity is prerequisite for reliability.

简单性是可靠性的前提。

Edsger W. Dijkstra

埃格斯·迪克斯特拉

Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.

今天的大多数软件都非常像埃及的金字塔,成千上万的砖块彼此叠放,没有结构上的完整性,只是由蛮力和成千上万的奴隶完成的。

Alan Kay

艾伦·凯

Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and extended. The full benefit of this support can only be realized if encapsulation is maximized during the design process.

面向对象的编程语言支持封装,从而提高了软件重用,改进,测试,维护和扩展的能力。 仅当在设计过程中最大程度地增加封装时,才能实现此支持的全部好处。

Rebecca Wirfs-Brock

丽贝卡·维尔夫斯·布洛克

Premature optimization is the root of all evil

过早的优化是万恶之源

Donald Knuth

唐纳德·克努斯

Any problem in computer science can be solved with another level of indirection.

计算机科学中的任何问题都可以通过另一种间接解决方案来解决。

David Wheeler

戴维·惠勒

The best performance improvement is the transition from the nonworking state to the working state.

最好的性能改进是从非工作状态到工作状态的过渡。

J. Osterhout

奥斯特豪特

I can’t be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It’s at that level

我对计算机科学的信心不如对生物学的信心。 生物学很容易遇到500年来令人兴奋的问题。 在那个水平

Donald Knuth

唐纳德·克努斯

Computer science is not about machines, in the same way that astronomy is not about telescopes. There is an essential unity of mathematics and computer science

计算机科学与机器无关,就像天文学与望远镜无关。 数学与计算机科学有着基本的统一

Michael R. Fellows

迈克尔·R·费洛斯

A computer lets you make more mistakes faster than any other invention with the possible exceptions of handguns and Tequila.

除了手枪和龙舌兰酒之外,计算机使您比其他任何发明都能更快地犯更多错误。

Mitch Ratcliffe

米奇·拉特克利夫

Image for post
Photo by Shahadat Rahman on Unsplash
Shahadat RahmanUnsplash拍摄的照片

编程语言(Programming Languages)

Many people tend to look at programming styles and languages like religions: if you belong to one, you cannot belong to others. But this analogy is another fallacy.

许多人倾向于看编程风格和语言,例如宗教:如果您属于一个人,就不能属于另一个人。 但这比喻是另一个谬论。

Niklaus Wirth

尼克劳斯·沃思

More good code has been written in languages denounced as “bad” than in languages proclaimed “wonderful” — much more.

与被称为“奇妙”的语言相比,用“坏”的语言编写的优质代码要多得多。

Bjarne Stroustrup

比尼亚·斯特鲁斯特鲁普

Sun Microsystems had the right people to make Java into a first-class language, and I believe it was the Sun marketing people who rushed the thing out before it should have gotten out.

Sun Microsystems有合适的人员将Java变成一流的语言,我相信是Sun营销人员在事情还没解决之前就赶了出来。

Alan Kay

艾伦·凯

There are only two kinds of languages: the ones people complain about and the ones nobody uses.

语言只有两种:人们抱怨的语言和没人使用的语言。

Bjarne Stroustrup

比尼亚·斯特鲁斯特鲁普(Bjarne Stroustrup)

Image for post
Photo by You X Ventures on Unsplash
You X VenturesUnsplash拍摄的照片

规划/管理(Planning / Management)

The cost of adding a feature isn’t just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. The trick is to pick the features that don’t fight each other.

添加功能的成本不仅只是编写代码所花费的时间。 成本还包括增加未来扩展的障碍。 诀窍是选择不会互相竞争的功能。

John Carmack

约翰·卡马克

Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.

爱因斯坦一再主张必须对自然进行简化的解释,因为上帝不是任性的或任意的。 没有这样的信念会让软件工程师感到安慰。

Fred Brooks

弗雷德·布鲁克斯

You can mass-produce hardware; you cannot mass-produce software; you cannot mass-produce the human mind.

您可以批量生产硬件; 您无法批量生产软件; 你不能大量生产人类的思想。

Michio Kaku

加智道夫

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.

设计系统(广泛定义)的任何组织都将产生其结构是组织通信结构副本的设计。

Melvin Conway

梅尔文·康威

Optimism is an occupational hazard of programming: feedback is the treatment.

乐观是编程的职业危害:反馈是治疗。

Kent Beck

肯特·贝克

Image for post
Photo by Bench Accounting on Unsplash
Bench AccountingUnsplash拍摄的照片

清洁代码(Clean Code)

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

始终进行编码,好像最终维护您的代码的那个人会是一个暴力的精神病患者,知道您的住所。

John Woods

约翰·伍兹

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

任何傻瓜都可以编写计算机可以理解的代码。 好的程序员编写人类可以理解的代码。

Martin Fowler

马丁·福勒

Deleted code is debugged code.

删除的代码是调试的代码。

Jeff Sickel

杰夫·西克尔

Every time you write a comment, you should grimace and feel the failure of your ability of expression

每次发表评论时,您都应该做个鬼脸,并感到自己表达能力的失败

Robert Martin

罗伯特·马丁

Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.

有些人遇到问题时会想到“我知道,我会使用正则表达式。” 现在他们有两个问题。

Jamie Zawinski

杰米·扎温斯基(Jamie Zawinski)

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

调试的难度是一开始编写代码的两倍。 因此,如果您尽可能聪明地编写代码,那么根据定义,您就不够聪明,无法对其进行调试。

Brian Kernighan

布赖恩·克尼根(Brian Kernighan)

Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else.

您六个月或更长时间没有看过的自己的任何代码也可能是由其他人编写的。

Eagleson’s Law

伊格森定律

Don’t comment bad code — rewrite it.

不要评论错误的代码-重写它。

Brian Kernighan

布赖恩·克尼根(Brian Kernighan)

Code is like humor. When you have to explain it, it’s bad.

代码就像幽默。 当您必须解释时,这很糟糕。

Cory House

科里楼

So much complexity in software comes from trying to make one thing do two things.

试图使一件事情做两件事情导致软件如此复杂。

Ryan Singer

瑞安·辛格(Ryan Singer)

One day my daughter came in, looked over my shoulder at some Perl 4 code, and said, “What is that, swearing?”

有一天,我的女儿进来,看着我的Perl 4代码,说:“那是什么,发誓?”

Larry Wall

拉里·沃尔

A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment. -

长的描述性名称比短的神秘性名称更好。 长描述性名称胜于长描述性注释。 --

Robert Martin

罗伯特·马丁

Talk is cheap. Show me the code.

谈话很便宜。 给我看代码。

Linus Torvalds

莱纳斯·托瓦尔兹

Image for post
Photo by Raquel Martínez on Unsplash
拉奎尔·马丁内斯( RaquelMartínez )Unsplash拍摄的照片

软件质量(Software Quality)

Legacy code is code without tests.

旧版代码是没有测试的代码。

Michael Feathers

迈克尔·费瑟斯

Software testing is not only ensuring absence of bugs but also ensuring presence of value.

软件测试不仅可以确保没有错误,还可以确保价值的存在。

Amit Kalantri

阿米特·卡randint里(Amit Kalantri)

The key to building a great product is building a great team first. To me, great teams aren’t bound by roles, but they’re driven by moving forward.

打造出色产品的关键是首先打造一支出色的团队。 对我来说,伟大的团队并不受角色的束缚,但他们是由前进所驱动。

Alan Page

艾伦·佩奇

Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little.

正确性显然是最重要的品质。 如果系统没有执行应做的事情,那么其他所有相关的事情都将变得无关紧要。

Bertrand Meyer

贝特朗·迈耶

Quality is free, but only to those who are willing to pay heavily for it.

质量是免费的,但仅限于那些愿意为此付出高昂代价的人。

DeMarco and Lister

德马科和李斯特

Nothing makes a system more flexible than a suite of tests -

没有什么比一套测试套件更灵活的了-

Robert Martin

罗伯特·马丁

There are two ways to write error-free programs; only the third one works.

有两种编写无错误程序的方法; 只有第三个有效。

Alan J. Perlis

艾伦·J·佩里斯

As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications.

通常,软件系统只有在实际应用中被使用并且反复失败后才能正常运行。

David Parnas

戴维·帕纳斯(David Parnas)

As the Tests get more Specific, the Code gets more Generic.

随着测试变得更加具体,代码变得更加通用。

Robert Martin

罗伯特·马丁

Image for post
Photo by Kelvyn Ornettte Sol Marte on Unsplash
照片由 Kelvyn Ornettte Sol Marte Unsplash

重构 (Refactoring)

Whenever I have to think to understand what the code is doing, I ask myself if I can refactor the code to make that understanding more immediately apparent.

每当我不得不考虑理解代码在做什么时,我都会问自己是否可以重构代码以使这种理解更加明显。

Martin Fowler

马丁·福勒

Image for post
National Cancer Institute on 美国国家癌症研究所Unsplash 照片

面向对象(Object Oriented)

Let there be no doubt that object-oriented design is fundamentally different than traditional structured design approaches: it requires different ways of thinking about decomposition, and it produces software architectures that are largely outside the realm of the structured design culture.

毫无疑问,面向对象的设计与传统的结构化设计方法在根本上是不同的:它需要不同的思维方式来进行分解,并且它产生的软件体系结构基本上不在结构化设计文化的范围之内。

Grady Booch

格雷迪·布奇

I invented the term ‘object oriented’, and C++ was not what I had in mind

我发明了“面向对象”一词,但我并不是想到C ++

Alan Kay

艾伦·凯

Part of the objective of this series of articles is to generate spaces for debate and discussion on software design.

本系列文章的目标之一是为软件设计的辩论和讨论创造空间。

We look forward to comments and suggestions on this article.

我们期待对本文的评论和建议。

This article is also available in Spanish here.

本文也可以在西班牙语中找到

Original Thread on Twitter

Twitter上的原始主题

翻译自: https://medium.com/dev-genius/software-engineering-great-quotes-3af63cea6782

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值