《Code Complete 程式碼大全》中用到的英文
我覺得自己讀英文書的時候還算順利,但是給我一篇技術文件讓我翻譯得很地道時,我就總是到處亂翻亂查,積累一下老外的用法,中翻英的時候用處比較大
Part I. Laying the Foundation
[譯:]打好基礎
[析:]有這樣一個片語lay the foundation of/for 為...打下基礎,奠定基礎
Chapter 1. Welcome to Software Construction
1. Mostly "construction" refers to the hands-on part of creating something.
[譯:]多數情況下,“構建”是指創造事物過程中動手
hands-on,親自實踐的
1.1. What Is Software Construction?
1. red tape 繁文縟節,官樣文章
1.2. Why Is Software Construction Important?
1. You can't drop construction; it's where the rubber meets the road .
[譯:]你不能扔下構建活動——這是不可或缺的環節。
[析:]where the rubber meets the road,這是個俚語,是指解決問題的關鍵 ,英文解釋是 at the point in a process where there are challenges, issues, or problems,這也是美國固特異(Goodyear)輪胎廣告的一句精彩廣告語,用的還挺貼切。
Chapter 2. Metaphors for a Richer Understanding of Software Development
[析:]注意這裡rich的用法,表示充分的,豐富的 ,而跟有錢沒關係
1. sterile room, flame, twisted sex changer 無菌室,論壇口水戰,雙絞線交換頭
[析:]這個雙絞線交換頭的英文還真夠...不知道怎麼來的,不過人家這裡就是在講metaphor麼,所以放這裡還挺合適,雙絞線的英文正式點的說法是twisted-pair
2.2. How to Use Software Metaphors
1. searchlight 探照燈 ,這次突然讓我想到了越獄裡面的某個畫面,米帥憂鬱的眼神,口水一個
2. It comes without a 30-day, money-back guarantee .
[譯:]30天內不滿意即可退款
[析:]這章的內容和計算機英語沒多大關係,但是生活中經常用哈,也拿出來說說好了。例如這句吧,放商場那個環境下,理解起來很容易,但是大家可能明白意思,但是不知道的人估計也不知道這句話怎麼用英文說,還是記一記吧。現在的網路商店基本上都是會這麼說:We offer a 30 day money back guarantee
2.3. Common Software Metaphors
1. program readability 程式可讀性
2. ocean liner 遠洋定期客輪
[析:]liner有班機,定期輪船的意思
3. To move a wall six inches costs more if the wall is load-bearing than if it's merely a partition between rooms.
[析:]注意這裡給出了承重牆 的說法 load-bearing wall
Chapter 3. Measure Twice, Cut Once : Upstream Prerequisites
[譯:]三思而後行:前期準備
upstream,上游的,逆流而上的
[析:]這句話在《高效能人士的七個習慣》中也出現過,平時做事要遵循此原則阿。再來看upstream這個詞,直譯是上游的,也就是說是整個河流的上行部分呢,所以比喻成工作中的前期階段,準備工作
3.5. Architecture Prerequisite
1. your one-year-old could solve it between spoonfuls of strained asparagus .
[譯:]你一歲的小孩 都能在眨眼的功夫 解決它
[析:]這話可夠難理解的,現在我也沒弄明白,首先是省略了指人的代詞,用one-year-old來說明一歲的(孩子),然後是spoonfuls of strained asparagus,這個俚語哪來的,不清楚....查不到。單說下strained ,指蔫了的
2. vice versa 反之亦然
3. User Interface, Performance, Fault Tolerance 使用者介面,效能,容錯性
[析:]這章出現很多計算機中常用的英文,列舉一下,這次詞彙應該既能看著英文說出中文意思,也能通過中文翻譯成英文
4. I18n, L10n
[譯:]國際化,本地化
[析:]不知道中國人是不是喜歡用這個詞,但是我是之前不知道(這麼說跟我不是中國人一樣...)。由於internationalization國際化這個詞首尾是In,總間有18個字母,所以就有了I18n.同理L10n是由於Localization
4.1. Choice of Programming Language
1. Assembly Language, assembler 組合語言,彙編
2. business logic 業務邏輯
Part II: Creating High-Quality Code
Chapter 5. Design in Construction
1. pseudocode 虛擬碼
5.1. Design Challenges
1. rules of thumb
[譯:]經驗方法
[析:]rule of thumb指單憑經驗的方法,複數rules of thumb指經驗法則,是一種對大多數情況都有用的法則 ,但不是可用於任何情況下的法則。
2.progress grinds to a halt.
[譯:]進度就慢慢停了下來 。
3. High fan-in
[譯:]高扇入
5.3. Design Building Blocks: Heuristics
1. Large programs that use information hiding were found years ago to be easier to modify—by a factor of 4—than programs that don't.
[譯:]幾年前人們發現,使用資訊隱藏的大型程式,比沒有使用資訊隱藏的修改起來容易4倍 。
factor, 係數
[分析]factor用於表示度量的增或減,可以翻譯成多少倍。
Chapter 6 . Working Classes
1. programmers began thinking about programs in terms of routines
[譯:]程式設計師開始基於子程式 去思考程式設計
routines : [計] 例行程式,程式:一套設計來執行一項特定且有限的任務的程式指令
[析:]用子程式來描述routine,會讓人迷惑的吧,它的英文解釋是 A set of programming instructions designed to perform a specific, limited task,個人文為翻譯成用於完成特定任務的指令集 比較合適。
[我譯:]程式設計師開始根據指令集來思考
2. A class is a collection of data and routines that share a cohesive, well-defined responsibility .
[譯:]類是由一組資料和子程式構成的集合,這些資料和子程式共同擁有一組內聚的、明確定義的職責。
share responsibility : 承擔任務,共同
[析:]這個詞翻譯成共同擁有的職責,感覺不通順,雖然意思能明白,用承擔了...的責任 ,感覺比較舒服。
另外還要注意一下well-defined 詞,意思是定義明確的,界限分明的 。
[我譯:]...,這些資料和子程式承擔了內聚和明確定義的職責
3. even if no common data is involved.
common: 共用的,公有的
[析:]這個詞我們一般都是用它普通的意思,別忘了它的共用的意思
4. Cross-Reference 對照, 參照
6.1 . Class Foundations: Abstract Data Types (ADTs)
1. you'll take an ad hoc approach to manipulating fonts.
[譯:]你就要使用一種拼湊的方法來操縱字型了。
[析:]這個詞的實際意思是專門的,特別的 ,這裡的翻譯是意譯了。
2. You can make the interface more informative .
[譯:] 讓介面提供更多資訊
[析:]注意這裡的 informative的用法,我覺得可以翻譯成 可讀性 更好, 你以後可別再說什麼help you understand之類的了