文摘加感悟 中年程式設計師給年輕程式設計師的忠告

2021-08-30 06:43:23 字數 1998 閱讀 3571

好**就是能夠自解釋的**。沒有注釋,**就是最好的注釋。但是做到這一點,很難。

keras 之父 francois chollet 說過:**不僅僅是用來執行的,也是團隊交流的一種方式,是向他人描述問題解決方案的一種方式。

所以命名很重要,避免使用過於籠統的名稱,避免使用過於冗長的命名,避免歧義。

盡量使用業內常見的命名。

寫**要避免功利性,應該專注於解決問題。

如果你的**對於這個產品想要達到的目標沒有明顯的幫助,就不要新增進去。

以簡潔為美。用最少的**實現功能。

必須從整個專案的角度出發,兼顧整體性和原則性。

使用者關注的僅僅是他們自己的特定應用場景。你應該考慮總體影響。

在保證軟體可用性的同時,你要採取措施來解決這些問題。

構建正確的基礎設施,才能不斷地持續整合,完整的單元測試覆蓋。

先試點,再推廣。

事先不要急著計畫好一切,先試一下看看結果如何,這樣可以盡早對錯誤的選擇進行回退。

使用最簡單的解決方案,避免不必要的複雜性。

問題看起來很複雜,並不意味著解決方案必須很複雜。好的軟體使複雜的事情變得簡單。

做任何事情都要有本源思維。什麼是本源思維?

明確說明開發規則,與團隊共享。避免隱式規則。避免衝突。

複雜的事情簡單化,簡單的事情自動化。

要站在使用者角度思考問題。api是有使用者的,要考慮使用者體驗。

大道至簡:儘量減少使用者的認知負荷。

減少引數,封裝細節,設計簡單一致的工作流。

使得使用者無需查詢教程和文件,即可完成工作。

簡單的事情不要複雜化,複雜的事情要簡單化。

不要為了少量特殊的應用場景而增加普通應用場景的認知負荷。

api 要與使用者的心智模型相匹配。

api 的設計不要整一些高大上的新概念,應該符合業內常識,人家一看就能明白。

選擇適合其領域的資料結構。

引數應該是面向使用者的、面向問題的。大家一看就能明白。

而不是面向底層實現、面向內部細節,讓大家不知所云。

好的 api 應該是模組化和層次化的:易於使用,並具有表現力。

最強大的心智模型是模組化和層次化的:在高層次上很簡單,在細節上很精確。

設計端到端工作流,而不是一組原子特性。

什麼是端到端工作流?

什麼是原子特性?

不要提供一堆功能讓使用者選擇,應該針對使用場景設計最佳工作流。

不要因為有人可能需要它,而新增某個功能。

要謹慎地設計 api 的錯誤訊息。

互動性和反饋是使用者體驗的一部分。

高質量的文件,能帶來高回報。

最好的**就是不需要文件的**,只對業內人士有效。

對於小白使用者,高質量的文件就很重要了,業內人士也會喜歡的。

文件不要討論**是如何工作的,而應該展示如何使用 api,示例**非常重要。

關鍵不在於形式,而在於實質。

事業的進步不在於你管理了多少人,而在於你產生了多大的影響,具體地說是你的勞動成果具有多大的影響力。

或者你掌握的技術具有多大的影響力,比如給公司帶來多大的業績增長。

善於合作

軟體開發是團隊作戰,不僅關乎技術能力,而且關乎人際關係。

工作過程中,要保持溝通,有效溝通。

把你的價值觀融入你的作品中。

任何產品都不是中立的,都可能對世界產生影響,而這種影響是有道德導向的。

在軟體產品中看似無害的技術選擇可能會影響使用動機、有人受益、有人受害。

所以技術選擇也是倫理道德選擇,你要慎重和明確選擇支援的價值。

自我管理:要掌控你的工作和環境。

活如逆水行舟,不進則退。職業選擇不主動,就會很被動。

尋找機會拓寬你的生活經驗,更好地看到世界需要什麼。

認知決定了人的發展速度和質量。有用的東西才會發展起來。

應該創造世界所需要的產品,而不是閉門造車出門不合轍。

雖然快速決策和執行的生產力很高,但是錯誤決定的代價大於等待的代價。

方向正確越快越好,方向錯誤越快越糟。

多運動,注意身體!多運動,注意身體!多運動,注意身體!

程式設計師中年危機

人到中年,上有老,下有小,身上還有很多房貸,然而工資已經好幾年沒有漲了,還擔心隨時下崗,中年危機,我們應該如何應對?上班一族都是靠打工掙錢養家,但是人到中年,危機感缺失越發強烈。下面談下搞技術的人員如何應對中年危機。一 確定目標和方向 首先確定自己的目標和方向,確定自己是主攻技術還是管理,必須有明確...

程式設計師感悟

在csdn上有程式設計師發表感慨,覺得自己將來也會遇到差不多的情況。看到很多csdner都有同感,並且積極開導lz,我也頗有感悟,先貼一貼他們說的。lz說的 昨天8年前的好友a通過qq告訴我,2000年一同分配到那個國有企業的b已經公升任副局了,昨晚一夜沒有睡好,反思畢業8年來的點點滴滴,不由百感交...

程式設計師感悟

這幾天學習了一下springcloud,微服務,本來以為很難弄,其實用還是很簡單的,畢竟是開發給我這樣的小白用的,太難不會用,沒有開發價值,像白居易的詩一樣,通俗易懂的詩才是好詩,其實 也一樣,不僅僅是給自己看的,也是給人看的,你 寫的漂亮點,你的後人就容易摸索點。到了新公司最大的痛苦不是技術不會,...