程式設計漫談 十三 設立挑戰和獎勵讓程式設計更有趣

2022-01-13 12:02:36 字數 1495 閱讀 2514

日復一日地程式設計,缺乏新意的程式設計,是不是會逐漸陷入麻木的狀態?

完成工作任務而獲取收入,是上班族的常規想法。

「你是在砌磚嗎?」  

「no! 我在建造一座巨集偉的殿堂。」

心中的意境不一樣,體驗和結果也不一樣。

程式設計不是一項工作,更是一種智力挑戰。

程式設計開發的四種技術挑戰型別: (1) 峰值:高併發場景; (2) 海量: 十億級以上資料量; (3) 架構: 一體化無縫設計; (4) 領域難題: 分布式場景下資料一致性問題的求解。

程式設計開發的三種非技術挑戰型別: (1) 關鍵與目標: 識別問題的關鍵所在,制定合理的目標和執行方案去達成; (2) 資源與溝通: 明確執行方案所需要的資源要求,並協調相關人員和團隊去實現; (3) 研發效率: 更敏捷地開發、測試、部署與持續交付。 能夠更流暢地測試新功能、回歸原有功能,能夠安全可靠地部署,能夠持續無錯地交付和演示新業務和新功能。

程式設計到了更高的境界,猶如作畫。當外部的資料建築尚未完全建立時,你將不再依靠外部的有形之物,轉而向內心求索,依照內心的圖景而程式設計和繪畫。

當意識到程式設計的挑戰性而非任務性,就回到了事情的本源:生活中的很多重要事情,與工作一樣,是對個體智力、表達、架構能力的綜合挑戰。只是性質內容不同。這些事情會在一段長時間範圍對生活有深遠影響。租房、買房、婚姻、與高手對決,都是一種新業務,既要相容原有設計保持獨立個性,又要實現新的需求與對方融洽相處。

「你只是在租房買房嗎?」

「no! 我在尋找乙個未來的可延伸的明淨的生活與創作空間。」

以任務心態去完成工作甚至人生,是一種思維的流毒。它使人平庸,使心緒煩亂,使行動退縮,使生活無意趣。你看有的人過得那麼好,其實她或他與你在普通技藝上並無差別(都是吃喝拉撒加說話動手動腦),但她或他在認知和架構設計高出一籌:能夠將許多微小的事情組合成乙個巨集偉的生活藍圖。這就是生活的架構能力,即生活戰略。而有的人在戰術和細節上做得非常出色。

以挑戰心態去認真工作和生活,則意境大不同。生活中充滿著大大小小的考驗和獎勵。大多數都是小的不起眼的考驗。洗淨一件衣服,只需要簡單的技能和一點時間,獎勵是能穿著乾淨的衣服去遇見喜歡的人。掃平小的考驗,是不是很爽?而大的考驗,雖然很難,卻有更多獎勵。精心設計一次約會,讓心儀的人歡喜,獎勵嘛,隨機。或者是攻克一項難題,贏得職業上的信譽。或者是完成乙個較大的專案,獲得更多的獎金,有更充裕的安排。這與遊戲非常類似。遊戲裡,刷小怪是悠閒毫無壓力的,單挑boss或首領則熱血沸騰,能贏得更多獎勵和更佳的裝備,有更好的後續遊戲體驗。生活本身就是一場大的遊戲,如果願意這麼看的話。

直面程式設計和生活中的難題和挑戰,善於設立合適的挑戰和獎勵,能收穫更多工作和生活中的樂趣。既然無法改變生活的內容和本質,那就改變生活的實現方式。

若你懼怕挑戰,那你必將不戰而敗;若你懷著常規的心思去應對,勝敗參半,取決於運氣;只有無懼挑戰,膽識、智慧型與勇氣兼備的人才能勝出。這不是雞湯,而是遊戲規則衍生出來的客觀規律。

ps:如何識別程式設計中的挑戰?

身處芊芊大世界,如真似幻, 我只是對內心圖景作畫。

挑戰程式設計 抽籤

你的朋友提議玩乙個遊戲,將寫有數字的n個紙片放入口袋中,你可以從口袋中抽取4次紙片,每次記下紙片數字後將其放回口袋中。如果這四個數字的和是m,就是你贏,否則的話就是你朋友贏,你挑戰了好幾回,結果一次也沒有贏過,於是怒而撕破口袋,取出所有紙片,檢查自己是否有贏的可能性。請你編寫乙個乙個程式,判斷紙片上...

程式設計挑戰 6

組合演算法 開乙個陣列,其下標表示1到m個數,陣列元素的值為1表示其下標代表的數被選中,為0則沒有選中。首先初始化,將陣列前n個元素置1,表示第乙個組合為前n個數 然後從左到右掃瞄陣列元素值的 10 組合,找到第乙個 10 組合後將其變為 01 組合,同時將其左邊的所有 1 全部移動到陣列的最左端 ...

程式設計漫談(十六) 設計與程式設計

設計先行。設計是構思一件事應該是怎樣 方案的形態 並論證可行性的過程與產出。站在設計者的角度 應該是什麼樣子,為什麼?主要考慮如下要素 安全 實用 可靠 效率 便捷 流暢 簡潔 易懂 易操作 需要根據實際情況進行取捨權衡。軟體設計的主要工作是 程式設計是實現指定功能的具體方法和步驟,是執行者角度。站...