軟件工程箴言

軟件工程箴言

收集:Tom Van Vleck

中文翻譯:nirvana_li

原網址http://www.multicians.org/thvv/proverbs.html

繪圖:Angus Macdonald

A clever person solves a problem.
A wise person avoids it.

-- Einstein

聰明的人解決問題。

理智的人避免問題

-愛因斯坦

——————————————————————————————————

André Bensoussan once explained to me the difference between a programmer and a designer:

"If you make a general statement, a programmer says, 'Yes, but...'
while a designer says, 'Yes, and...'"

André Bensoussan 曾經爲我解釋程序員和設計師之間的區別:

如果要做一個總體評價,程序員會說:是的,但是...

而設計師則會說:是的,而且...”

——————————————————————————————————

No matter what the problem is,
it's always a people problem.

不管問題是什麼,

那都是人的問題。

 

 

--Jerry Weinberg

——————————————————————————————————

Wexelblat's Scheduling Algorithm:

Choose two:

Good

Fast

Cheap

Wexelblat的調度算法:

從其中選擇兩個:

——————————————————————————————————

"There's no time to stop for gas, we're already late"

-- Karin Donker

“沒時間停下來加油,我們已經遲了”

-- Karin Donker

——————————————————————————————————

Deming's 14 points

1.      Create constancy of purpose.

2.      Adopt the new philosophy.

3.      Cease dependence on mass inspection to achieve quality.

4.      Minimize total cost, not initial price of supplies.

5.      Improve constantly the system of production and service.

6.      Institute training on the job.

7.      Institute leadership.

8.      Drive out fear.

9.      Break down barriers between departments.

10.   Eliminate slogans, exhortations, and numerical targets.

11.   Eliminate work standards (quotas) and management by objective.

12.   Remove barriers that rob workers, engineers, and managers of their right to pride of workmanship.

13.   Institute a vigorous program of education and self-improvement.

14.   Put everyone in the company to work to accomplish the transformation.

戴明管理十四條原則:

1.      要有堅定不移的目標。

2.      採納新觀點。

3.      停止依賴大量檢查來保證質量。

4.      減少所有成本,而不僅僅是撥款的最初成本。

5.      經常改進系統的產品和服務。

6.      實行崗位職能培訓。

7.      建立領導力企業管理。

8.      消除畏懼。

9.      打破部門之間的障礙。

10.   取消標語、訓詞、數字化目標。

11.   取消定額管理和目標管理,用領導力來代替。

12.   消除打擊員工工作情感的考評。

13.   鼓勵學習和自我提高。

14.   採取行動實現轉變。

——————————————————————————————————

We know about as much about software quality problems as they knew about the Black Plague in the 1600s. We've seen the victims' agonies and helped burn the corpses. We don't know what causes it; we don't really know if there is only one disease. We just suffer -- and keep pouring our sewage into our water supply.

-- Tom Van Vleck

我們對軟件質量問題的瞭解就如同人們所瞭解到的1600年的黑死病。我們看到罹難者的痛苦和他們幫着焚燒屍體。我們卻不知道這是什麼引起的;我們甚至不知道是否這只是一場疾病。我們只是忍受--並且繼續將污水倒入供水系統中。

-- Tom Van Vleck

——————————————————————————————————

To go faster, slow down. Everybody who knows about orbital mechanics understands that.

-- Scott Cherf

要想更快,先慢下來。瞭解軌道力學的人都知道這個道理。

-- Scott Cherf

——————————————————————————————————

Everybody Knows:

Discipline is the best tool.

Design first, then code.

Don't patch bugs out, rewrite them out.

Don't test bugs out, design them out.

每個人都知道:

紀律是最好的工具。

先設計,再編碼。

不要通過修補來改bug,最好通過重新編寫來解決。

不要通過測試來改bug,最好通過設計來解決。

——————————————————————————————————

Everybody Knows:

If you don't understand it, you can't program it.

If you didn't measure it, you didn't do it.

每個人都知道:

如果你不瞭解,就不能編程。

如果你沒有估量,就不能做事。

—————————————————————————————————

Everybody Knows:

If something is worth doing once, it's worth building a tool to do it.

每個人都知道:

如果某些事需要重複做,最好構造一個工具來完成它。

—————————————————————————————————

Your problem is another's solution;
Your solution will be his problem.

你的問題是其他人的答案;

你的答案將是他人的問題。

—————————————————————————————————

 

 

Everybody Knows:

If you've found 3 bugs in a program, best estimate is that there are 3 more.

60% of product cost comes after initial shipment.

每個人都知道:

如果在程序中發現3bug,最好的估計是肯定比3個多。

60%的產品

—————————————————————————————————

 

 

The significant problems we face cannot be solved by the same level of thinking that created them.

――Albert Einstein

我們面臨重要挑戰,如果想要解決它們,就必須超越當初的思維水平。

――阿爾伯特 愛因斯坦

—————————————————————————————————

 

 

On the radio the other night, Jimmy Connors said the best advice he ever got was from Bobby Riggs:

do it

do it right

do it right now

不久前一個夜裏,通過電臺Jimmy Connors說出了他曾從Bobby Riggs那裏得到的最棒的建議:

做的對

立即做

—————————————————————————————————

 

 

It is not enough to do your best: you must know what to do, and THEN do your best.

-- W. Edwards Deming

只盡全力並不夠:力必須知道如何去做,然後再盡全力。

-- W. Edwards Deming

 

 

—————————————————————————————————

 

 

A leader is best when people barely know that he exists.
Less good when they obey and acclaim him.
Worse when they fear and despise him.
Fail to honor people, and they fail to honor you.
But of a good leader, when his work is done, his aim fulfilled,
they will say, "We did this ourselves."

-- Lao-Tzu

太上,下知有之;其次,親而譽之;其次,畏之;其次,侮之。信不足焉,有不信。焉。悠今!其貴言也。

成功遂事,百姓皆謂:我自然。

--老子

 

 

—————————————————————————————————

 

 

You must be the change
You wish to see in the world

-- Gandhi

要改變世界先改變自己

-- 甘地

 

 

—————————————————————————————————

 

 

Experiment escorts us last,
His pungent company
Will not allow an axiom
An opportunity.

-- Emily Dickinson

—————————————————————————————————

 

 

when the cart stops
do you whip the cart
or whip the ox?

當牛車停下來,你是趕車呢?還是趕牛?

—————————————————————————————————

 

 

Q: How many QA testers does it take to change a lightbulb?
A: QA testers don't change anything. They just report that it's dark.

問:多少QA測試人員願意換燈泡?

答:QA測試人員不做任何事情。他們只報告燈泡壞了。

—————————————————————————————————

 

 

Q: How many software engineers does it take to change a lightbulb?
A: Just one. But the house falls down.

Andrew Siwko

問:多少軟件工程師願意換燈泡?

答:只有一個。但是房子倒塌了。

—————————————————————————————————

 

 

One test is worth a thousand opinions.

一次測試相當於一千次評價

—————————————————————————————————

 

 

"If you didn't write it down, it didn't happen."

This saying is popular among scientists (doing experiments), but I believe it applies to software testing, particularly for real-time systems.

--Larry Zana

“如果你沒有記錄它,它就沒有發生。”

這個說法在科學家(做實驗)中非常流行,但是我相信它也適用於軟件測試,特別是對於實時系統來說。

—————————————————————————————————

 

 

We reject kings, presidents, and voting.
We believe in rough consensus and running code.

--Dave Clark (1992)

我們拒絕國王,總統和選舉。我們只相信大多數人的意見和正在執行的代碼

—————————————————————————————————

 

 

I am a design chauvinist. I believe that good design is magical and not to be lightly tinkered with. The difference between a great design and a lousy one is in the meshing of the thousand details that either fit or don't, and the spirit of the passionate intellect that has tied them together, or tried. That's why programming---or buying software---on the basis of "lists of features" is a doomed and misguided effort. The features can be thrown together, as in a garbage can, or carefully laid together and interwoven in elegant unification, as in APL, or the Forth language, or the game of chess.

-- Ted Nelson

—————————————————————————————————

 

 

 Software is Too Important to be Left to Programmers, by Meilir Page-Jones.

軟件太重要了,所以不能全讓給程序員做主。

—————————————————————————————————

 

 

 "If you think good architecture is expensive, try bad architecture."

-- Brian Foote and Joseph Yoder

如果你認爲優質的建築挺貴的,那就試試劣質的建築吧。

—————————————————————————————————

 

 

Abraham Lincoln reportedly said that, given eight hours to chop down a tree, he'd spend six sharpening his axe.

-- TidBITS 654, quoted by Derek K. Miller, via Art Evans

據說林肯曾經說過:如果想要花8個小時砍倒一棵樹,他就要花6個小時來磨斧頭。

—————————————————————————————————

 

 

... while we all know that unmastered complexity is at the root of the misery, we do not know what degree of simplicity can be obtained, nor to what extent the intrinsic complexity of the whole design has to show up in the interfaces. We simply do not know yet the limits of disentanglement. We do not know yet whether intrinsic intricacy can be distinguished from accidental intricacy.

-- E. W. Dijkstra, Communications of the ACM, Mar 2001, Vol. 44, No. 3

—————————————————————————————————

 

 

You can only find truth with logic if you have already found truth without it.

-- Gilbert Keith Chesterton (1874-1936) " The Man who was Orthodox", via Paul Black

—————————————————————————————————

 

 

Here is a  great page about some kinds of management actually observed, and some insights on quality processes, by Joseph Koshy, via Robert Watson

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章