當前位置: UU看書 > 網遊 > 幸好一路上有你最新章節列表 > 第509章 大餅不好啃
選擇背景顏色: 選擇字體: 選擇字體大小:

第509章 大餅不好啃

如果這個大客戶對vm提供的虛擬機器軟件系統滿意的話,這家公司不僅會將vm的技術應用在自己的實驗室提高員工的工作效率,將來還會用來武裝他們的主機群,為他們的客戶提供更便捷的宿主機服務,這樣能在成本上為這家公司省下不少,這是一樁雙贏的買賣。

如果買賣成功的話,vm公司的發展不僅能跟這個大客戶的業務發展繫結在一起,還可以吸引更多的相似客戶採用他們的服務,更可以以此為依據來吸引更多的風險投資公司來投資,當然,如果他們拿不下這個大客戶,這美好的前景將變為泡影。

所以此次的衝刺可以說是要決定公司的生死存亡了,所有的員工都全力以赴。

他們的衝刺比一般的大公司要賣命。

這取決於兩者的巨大區別。

大公司之所以大,是有很多產品支撐起來的,但是已有產品也限制了大公司的行為,他們需要一大堆的規章制度來保障已有產品的延續性和高質量,否則一個致命錯誤就會導致無法挽回的損失。

【穩定運行多年的小說app,媲美老版追書神器,老書蟲都在用的換源App,huanyuanapp.org】

基於這樣的考慮,所有的大型軟件公司都有一套完整的標準來約束大家的程式設計行為,這樣的標準雖然拉低了天才員工的天馬行空,增加了一般員工的工作負擔,對一些能力低下的員工來說還增加了不小的工作壓力,但它的好處也有很多。

首先它能避免程式看不懂的問題,稍微複雜一些的語句幾乎每句話都得有註解,以便別人看得懂。還有維護成本的降低,看得懂才容易維護,試想一段大家都看不懂的程式,誰敢動?萬一出錯了算是誰的鍋?

所以大公司在做一個軟件產品的時候,跟所有其他的生產商一樣,需要進行調研、客戶需求問卷調查、收集舊版本使用情況反饋,進行可行性分析。

之後是寫計劃書,一旦定下來要做這個產品,就需要產品經理們根據客戶的要求和反饋或者自己拍腦門臆想出來的使用例子,寫出具體的外觀設計,以及各控制部件需要完成的功能。

這個計劃書被開會討論透過以後,資深構架師為此寫出構架報告,需要用什麼樣的已存在的底層技術來支撐,還需要開發什麼樣的新底層技術,各個功能如何分層次處理,大模組如何劃分,各組需要實現哪些功能,各組需要達到的效能有什麼要求等。

各個小組再就這個進行討論、協商,還需要商討出各層介面是什麼樣的,容錯功能該由哪一級負責等等職責劃分,一般這個過程需要數月時間,之後才開始進行具體的設計。

這時候輪到各小組的資深程式設計師為自己小組負責的模組進行具體的演算法設計,如果是新的演算法,還需要跟公司的專利律師們一起起草專利申請書。

一旦這些都經過了討論透過,才輪到程式設計師們去寫程式。

寫程式的時候,也是有很多格式需要遵守,以便其他人閱讀,正常的源程序,往往是註解比真正的語句行數都多。

一個模組開頭不僅要簡要描述模組的功能,還要介紹輸入引數的類別、意義,輸出引數的類別和意義。

在模組內部,每一小段都要描述一下這一小段是要幹什麼事兒,需要注意些什麼,都是前人種樹後人乘涼的要求,對公司的長遠發展比較有利。

這樣做也不是沒有壞處,第一,增加了不少成本,第二,程式語句為了易讀性,不是特別高效。很多程式的最佳化需要盡量減少語句的延展,比如一句古文翻譯成現代語,可能要好幾句來解釋,而古文簡潔明了效率高,但並不是每個員工都能讀懂。

所以那些大公司程式碼的最佳化,都是由各個小組裡的幾個資深程式設計師共同完成,一個人負責程式設計,另幾個人負責稽核,當然加上足夠的註解,這樣下一次最佳化或者出問題的時候,能保證有資深程式設計師能理解和調整有能力來做這樣的事情。

穆林之所以被老闆看重,這跟他的經歷有很大的關係,他當年上大學時跟袁媛負責過掃描器驅動程序的開發,當時條件限制,硬體裝置的驅動程序都是用組合語言來編寫,這就相當於華語作文需要用古文。

對一般的人來說,能看懂古文就不錯了,還需要用它來寫文章?那簡直是不可能的任務。

穆林後來在休利帕也是寫驅動程序的,所以對匯編程序特別熟悉。

一個人經過更嚴格訓練的人,現在負責用非常簡單的“現代”語言寫成的程式,很容易發現冗長不高效的語句,也很容易把它們改成更高效的。

vm之所以想跟大公司合作,是因為大公司有足夠的財力養軟體質檢員---專門負責軟體質量測試的程式設計師。

質檢員不是說在公司產品完成之後才進行質量檢測的。質檢員從很早的時候就開始參與質量檢測活動。

小公司一般沒有質檢員,所以大家寫的程式都是各自測試一番,質量不能保證。大公司有專門的質檢員根據產品設計報告來設計測試程序,包括輸入的資料和期待的結果,把產品執行一下,用設計好的資料輸入進去,出來的結果應該跟設計報告裡的一樣,才算達標。

有些小模組的功能測試是嵌入在產品源程序中的,程式編譯的時候,可以有兩種編譯設定,最終產品還是測試產品?測試用的,會有很多測試程序在裡邊,還有很多“後門”可以允許質檢員進行部分測試。

除了一般的功能測試,還要有壓力測試,一個人使用你的產品和一百人同時使用、或者成千上萬人同時使用你的產品,造成的訪問流量是大大不同的,大的系統都要zhege有處理這種訪問壓力的能力。

除了這個壓力測試,還有效能測試,比如從我輸入完畢開始算起,要多久我才能拿到結果,這是屬於效能方面的要求,當然是越快越好,還有一種是資源方面的效能要求,比如需求的記憶體最好越少越好,要求的硬體裝置越低越好。

這個時間和資源方面的效能要求進入到系統內部,被分化成層或者是模組,那麼對每一層或者每個模組都有相應的要求,效能測試就是要測試這些小的組成部分是否達標。

一旦有不達標的情形出現,就知道哪個(些)小的組成部分出了問題。

大公司對自己的產品要求高,人力資源就必須充足,所以每個產品都是有幾百甚至幾千員工。像邁紹這樣的專門的軟體公司,旗下有幾十個產品,員工超過十萬不足為奇。

對於將來會用在客戶方面的技術,他們的要求也很高,所以對vm這樣的只有幾十人的小公司來說,絕對是一塊香噴噴的大餅,還是一塊很不好啃的大餅,要麼一口吞下,要麼被磕了牙。