每週,谷歌員工都會在廁所的牆壁上貼上一頁來分享本週的測試小建議。有時這頁紙會討論依賴注入,並提供乙個簡單的示例展示如何用不同語言使用它;有時它可能會分享如何安裝乙個用於測量團隊**庫測試覆蓋率的軟體。「testing on the toilet」起初是個奇怪又有趣的方式,來教給工程師在工作中會用到的一些新的東西,這也被突出為google文化中的核心力量:向工程師組織有效的傳播一系列最佳實踐。
這有從谷歌工程文化中獲得的六個核心原則,你可能能夠從中獲益。
在早期谷歌在工具和抽象概念上大力投資,例如 protocol buffers,mapreduce,bigtable 和其他在工程中自始至終都會用到的東西。解決問題好的態度並使得每個人能夠接受已經帶來巨大的收益。每個團隊都花費較少的心理週期選擇使用哪個工具,專注於工具的團隊能夠更關注提公升工程生產力,和改善已經使用的工具和服務。每個團隊可能使用截然不同的工具鏈,這也意味著當你學習了基本單元結構後,更容易理解許多專案背後的設計。這個方法的負面影響就是有些時候你可能感覺你的 case 是被強行塞入乙個特別的良好支援的工具,即使它不是最好的。
我在谷歌能夠迅速變得如此高產的乙個原因是公司在培訓材料上面花了大力去投資,其稱之為 codelabs,codelabs 包括了公司的核心抽象模型,解釋它們為什麼被設計出來,突出**庫的相關片段,以及通過實現練習驗證理解它們。如果沒有它,我將會花更多的時間來學習各種我需要去了解的各種技術,這也意味著我的隊員要花費更多的精力向我去解釋它們。我在谷歌這樣積極的經歷,強有力的影響了我在後來的 quora 新人培訓過程中大力推崇 codelabs 使用的決定。
每個關於空格、大小寫、行長度、是否使用智慧型指標等約定,可能似乎是不重要的,但是到了谷歌這樣的大規模時會帶來巨大的影響。我不是第一次承認,當**校驗人員挑刺我的**令我感到十分不愉快,就因為我沒有正確的縮排或在行長度超出了規定的兩個字元。但是因為大家都遵循同樣的約定,使得瀏覽**變得大大容易。當更換團隊或在跨部門專案中工作時,這幾乎沒有額外支出去學習新團隊的約定。當團隊規模很小時,約定是那種很容易被忽視的東西,但是在**和團隊規模逐漸壯大在這方面越來越做出改變,這樣你事實上希望從始至終都是一致。如果可能早期在約定一致性上保持一致,或者使用谷歌開源的風格指南。
對每次改變進行**複審減緩了迭代更新的速度,但是提公升了**質量,新工程師收到反饋後,他們需要迅速的採取最佳的實踐並專注於公認的**質量等級。總體的**質量越高,也就意味著新工程師在模仿周圍人員的**同時,初期就會寫出更加簡潔的**。因此,**複審有助於公司在較大規模上位置較高的軟體質量。
谷歌研發主管 peter norvig 經常談到在解決複雜問題上「不合理的資料有效性」。正確的資料能夠幫助你了解使用者,劃分辦公室政治,解決爭論,並讓你跟上進度。開發日誌和資料基礎工具,如 sawzall 和 mapreduce,使谷歌的工程師從大量資料中篩選出來變為可能。
谷歌有十分強烈的單元測試文化,「廁所測試」就是乙個例子,差不多我每做一次**的改動都伴隨乙個單元測試,**複審員將會嚴格地檢查他們。這讓開發變慢,但它也意味著成百上千的工程師可以改變**庫中的同一部分而不會犧牲過多的質量和可靠性。谷歌以同樣的方式在共享工具上進行投入,它也會共享測試框架,並通過最好的測試實踐讓大家寫測試變得更容易。
當我後來在 ooyala 和 quora 幫助他們構建團隊和產品時,谷歌的工作強烈地讓我思考,在哪些地方什麼會形成良好的工程文化。然而,在谷歌這樣規模的公司工作好並不一定意味著會在不同機構的不同發展時期的工作同樣會好。每個工程決策都包括一系列權衡,但是谷歌工程文化提供了一部分權衡,而你可以從這裡開始。
今天學到的關於UI的一點東西
logo區 公共區 banner 公共區 功能導航區 公共區 導航區 功能區 底部 公共區 1 如上圖 這是乙個站點的總體框架.其中對於其中標明 公共區 的部分,乃是站點的公用的頁面.如果你們是多人或者小組開發的話,那麼在這些公用部分完成之後,每乙個人要做的也就是 功能區 一塊.這樣也就避免了很多的...
從校內網的網頁原始碼學到一點東西
知道校內網的ui是用struts做的,檢視了一下他們的網頁原始碼,覺得質量挺高,至少 寫得挺規範的,下面這些是從他們網頁原始碼裡面看到的一些東西。這句 是為了使瀏覽器使用ie7的strict模式來工作,因為ie8使用了新的layout渲染引擎,所以會對以前版本的瀏覽器不相容,所以ie8通過這種方式是...
想說一點東西。。。。
ps 最近這幾次多校比賽,雖然題目,資料什麼的可能有些問題,但是有的人真心無聊的去蹭資料。所以想說點這幾次多校的感覺 比賽的時候能蹭過去算是能力,但是比賽完了還是要好好總結。換幾種思路可以,但還是不要把時間浪費在不必要的東西上。比賽中能過的題沒有過多找自身的原因,不要一味的歸結到運氣或者狀態。拍 測...