譯者:legendsland  2007-10-29  編程很有意思,是因為我可以做一些很酷的東西,但是實際上讓我著迷的卻是那一行行代碼的語法和語義。保持對好代碼和壞代 " /> 日韩欧免费一区二区三区,成人免费一区二区三区,亚洲欧美日韩一区二区在线观看

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

編程的藝術:漂亮的代碼和漂亮的軟件

  英文原文:Beautiful Code and Beautiful Software
  譯者:legendsland

  2007-10-29

  編程很有意思,是因為我可以做一些很酷的東西,但是實際上讓我著迷的卻是那一行行代碼的語法和語義。保持對好代碼和壞代碼之間差異的敏感相當激勵人,同時,去尋找編寫高效、自文檔化和經過深思熟慮良好組織的代碼的方法將會永遠吸引著我。這便是我對所在領域鐘愛的原因 —— 編程的藝術 —— 這種奇妙的復雜物(complex craft)將會讓你花費一生的時間去成為大師。

  續Ruby之后,我學習了JavaObjective-C,我開始享受到底層軟件開發的樂趣。我是在一個討厭繁縟語言開發的社區(Rails社區)成長起來的,但是當我第一次接觸這類語言之后,發現我喜歡上了它們。它們(和Ruby比較起來)是不同的語言,但仍然具有它們特有的樂趣。以Java 里面的for循環為例,當以我的高級程序語言的背景,編寫了一些這樣的基礎代碼后,發現這種代碼可以更好地幫助我理解面向對象的一些實踐,但同時我也對for循環本身產生了興趣。這不僅僅是優美的語言吸引了我,也是語法背后的邏輯和不同語法形式讓我著迷。計算機語言,以及它們之間的差異,本身就極具魅力。

  當這學期我在學校學匯編語言的時候,獲得了相同的滿足感。匯編很繁瑣,有時相當痛苦,但是讓我去思考使用這種新的方式去實現基本的程序功能,跟痛苦相比,是完全值得的。當然,意識到自己編寫的代碼如此底層,也讓我享受到了極客(Geek)的快感。

  情況變得更糟了!在今年的早些時候,當我讀到Wolf的程序員不喜歡編碼時,我經歷了一個很不錯的自我發現過程。我確實是喜歡在編碼過程中解決問題,進行優雅地創造,以及通過編碼來學習,但實際上我意識到我也是因為喜歡編碼而編碼。至少,這就是我享受CSS和XHTML的方式。我擁有大量的Web前端開發經驗,并且最近沒怎么碰到新的問題(事實上,難搞的問題和我從沒有見過的Bug會讓我異常興奮)。盡管如此,我仍然喜歡這些東西。比如,整理一下我完全理解的代碼讓它變得好看點,就像是在我的筆記本上重復地畫一些卡通貓,或者是坐在鋼琴前重復地彈三個相同的音調一樣,這讓我感到放松。甚至僅僅去閱讀漂亮的CSS(我自己寫的CSS),上面每一樣東西都整齊有序、縮進良好,并且進行了正確的層疊(CSS里面很重要的一種技術)而感到心情舒暢;相反,當我看到某些論壇的樣式表里面混亂的縮進、多余的空行、被注掉的一些老代碼,以及通過故意使用錯誤的屬性名來屏蔽掉的樣式的時候,我感到難受,就像是生病了一樣。

  當你可以如此輕易地被激起興趣 ,就是上面這個結果。僅僅是墻上的影子就足夠讓你繼續生活下去(譯注:看來,她對柏拉圖很有興趣)。你得不斷地重新審視自己的敏感度,以便讓你的聲色品味與你口袋里的鈔票相匹配。(你對代碼或者軟件的品味來自于你自己的能力水平)

  這樣來講吧,這些天我一直在思考(整個)軟件開發中的軟件部分。特別是軟件中的用戶界面設計。今年在BARcamp,我喜歡Aza Raskin的一個實驗,他讓所有的開發人員舉起手,然后是設計人員,接著他說那些第一次舉手的人在第二次也應該舉手。所有的開發人員必須是設計人員。至少,幸運的是,所有的開發人員在他們的工作中可以對軟件設計發表自己的意見。

  我越來越對軟件開發中設計部分的重要性感到興奮,尤其是當我反思我對過去所做的事情在不同方面的熱情與心得的時候。在Web應用領域,開發和設計一般是分離的。有時候,設計部分的工作在項目中被最少化了,這是因為客戶是為軟件的特性買單,而不會為漂亮的設計付帳。在一個項目中,我同時扮演了開發和設計的角色,回想起來,我對只分配了兩天時間來完成可視化的設計感到耿耿于懷。這決不是兩天的事情。這是一個很復雜的應用軟件,需要花上幾周的時間與客戶交流和迭代設計。不幸的是,客戶并不會因此而買單。相反,客戶對我花了幾個小時的原型感到無比滿意,就這樣,我們有了這個產品的第一個版本。

  在今年的C4上我有了另一次覺悟。好像很多Mac下的開發人員都在(私下)做自己的產品。這樣,他們真的必須既是設計師又是開發人員。事實上,設計是最重要的部分,并且用戶體驗和制造了不起的產品看起來要比代碼本身更具有熱情。在C4的一個晚上,有人在向我描述他的工作的時候,無意中幫助我看到了這一點:編碼這個基本要素是最容易的部分。那僅僅需要幾周而已。真正困難和耗費時間的是搞定UI的規格。

  哇噢,我在想,為什么這看起來如此正確?為什么對我而言是這么的酷?哦,是的,那是因為我是從設計人員開始的。我享受開發、設計和藝術的方式絕然不同,這就導致了這三種享受之間巨大的差別。我一直在嘗試整合開發和藝術(這兩個方面),但是我其實應該整合這三個方面。

  畢竟,我的天啊!我們想要漂亮的代碼或者是漂亮的軟件嗎?我生活中的另一個觀點是:由于我的思想極具開放性和強吸收性,我發現我自己可以接受各種相互矛盾的觀點,有時候甚至是相反的觀點。這種問題目前不會困擾我,因為我正處在探索模式的階段,而不是在只接受我所相信的階段,但是,當然啦,為了保持我思想自身的一致性,當它們有點頭緒的時候必須要好好的整理一下。

  所以,為了后續的考慮,我按照軟件開發給人們帶來的由內至外的收獲,簡單地列出了這個清單。我沒有選擇其他一些極好的介質,比如社區、開源和挑戰等等,是因為這些都很難按順序列到里面去,不過我相信你可以領會到其中的要點。這個順序對我而言是極度重要的,因為心理學家講過,內因的力量更為強大,更能讓你堅持。比如,一個為了想從擊打和踢腿中感覺到力量和興奮而參加空手道訓練的人,肯定要比僅僅為了健康的人更容易達到黑段水平。

  編程也是如此嗎?

  * 代碼感(譯者:還記得圣斗士里面的第六感嗎?)
  * 編碼的知識
  * 享受計算機邏輯
  * 享受計算機語言
  * 優雅的語法
  * 優美的語義
  * 學習代碼
  * 問題求解
  * 了解問題
  * 獲得可用性
  * 完成一個產品
  * 優雅的軟件
  * 解決人的問題
  * 解決商業的問題
  * 滿足市場需求
  * 賺錢
  * 有一個穩定的職業

  哪個是最能持續激勵人的收獲?更重要的是,哪種動機可以制造出最好的軟件?有時候我很想在這個話題上做一個很正式的研究,當我們希望軟件既滿足可用,又具備可維護性,同時還叫買,而且還要滿足一些其他的目標的時候,我很確信這個答案就是清單上面各種條目之間健康的平衡。我同時還很確信這種平衡性是因情況和人而異的?,F在,我已經勾畫出了一條鐘形曲線(正態分布),那些可以促成最佳的軟件的動機位于曲線的中間部分;但是,我想實際上所有的動機在某些方面都是有益的,并且當程序員有她自己的優先級的時候,動機自然是越多越好。

  我們領域的悲哀在于大多數程序員并不會欣賞上面大部分的收獲,尤其是那些更為重要的。這個清單很有用,因為大多數編程的工作無法滿足那些關心所有這些事情的人。同樣地,我很好奇,如果我們每個人都從內心關心我們做的東西,并且不會有人為了穩定的工作而去選擇計算機科學者個專業,那么這個(軟件)領域將會成為什么樣子呢?我好奇這樣會對整個世界產生什么影響?

  我想我每年都應該反思一下這種問題,以便成為一個更好的軟件開發人員。盡管如此,我還是覺得我的信念已經固定下來了:越是成長,就越希望能夠在一個足夠自由的環境里面創造美妙的東西。值得注意的是,美妙和自由都是模糊和主觀的概念,可以任意地去理解。我只知道,在大多數的編程工作中對代碼之美和軟件設計之美的妥協永遠會讓我感到不滿。如果到最后,我選擇成為一個自由開發者去做Web設計,以滿足這種自我的生活風格,我不會對此感到意外。

  最終我會從計算機上面退休,并且用我剩下的時間在國外美麗的農場里面畫畫。或者是,過上在街頭涂涂抹抹和牢房之間互動的感性城市生活。想象一下,當我覺得技術玩完了的時候,接下來要去哪里將是很有趣的。但愿永遠不要發生這種事情,因為我希望成為一個酷酷的guru奶奶,到時候給孩子們上一些編程的必修課呢!(Fantastic guru girl !!)

it知識庫編程的藝術:漂亮的代碼和漂亮的軟件,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲一区二区影视 | 色婷婷激情五月 | 国产精品亚洲二区在线 | 欧美一级网址 | 狠狠做久久深爱婷婷97动漫 | 亚洲第一网站免费视频 | 天天拍拍天天爽免费视频 | 高清国产一区二区三区 | 国产精品高清一区二区三区不卡 | 亚洲线精品一区二区三区 | 国产精品麻豆久久99 | 成人精品国产亚洲 | 午夜宅宅宅影院在线观看 | 国产美女激情视频 | 国产麻豆视频 | 精品免费在线视频 | 亚洲艳图 | 色网址在线 | 第一页亚洲 | 国产在线观看91 | 一本久久精品一区二区 | 婷婷综合五月中文字幕欧美 | 91精品宅男在线观看 | 久久91亚洲精品中文字幕奶水 | 伊人狠狠操 | 欧美一卡2卡三卡四卡五卡 欧美一欧美一区二三区性 欧美一区a | 色综合精品久久久久久久 | 欧美一级高清片免费一级 | 人人狠狠综合久久亚洲婷婷 | 久在线观看视频 | 性做久久久久久网站 | 中文字幕日产每天更新40 | 91久久福利国产成人精品 | 亚洲小说欧美激情另类 | 色思思| 国产精品酒店视频 | 久久综合五月开心婷婷深深爱 | 99精彩视频在线观看 | 91精品国产91久久久久久青草 | 美女动作一级毛片 | 久久亚洲国产最新网站 |