關於當下ChatGPT在軟件工程編碼過程反思

     背景

     首先聲明筆者是軟件開發多年經歷,對於ChatGPT過程中一些觀察,僅代表個人觀點。對於才工作的新人,沒有更多軟件開發與編碼經驗,可能ChatGPT幫助更大。當下ChatGPT在軟件工程編碼過程反思:

image

     風險一:  ChatGPT當下對於整個軟件工程優化與改進所有源代碼效率不高。 ChatGPT出現意味着程序員可以協助AI工具生成優質代碼,改進現有代碼。在實踐過程中,我們看到程序員需要等待ChatGPT的逐行輸出結果,這似乎是就是在等待時間。看上去最終效果比較好,但實際是等待花費更多時間。一個簡單的技術問題也需要問GPT,那不是搜索引擎就能解決的問題。一個程序員如果過分依賴ChatGPT,實際上他的生產效率並不高。因爲每寫一段代碼,他都在等待GPT幫助他來優化這段代碼。這個程序員可能沒有持續學習,在依賴GPT的AI生成代碼。熟手高級程序員與軟件工程師,我們期望他能直接能產出高質量的代碼。這個優質代碼技能在過去,這個程序員需要閱讀大量的優秀的源代碼並加與實踐。 如果這個程序員已經具備獨立產出高質量代碼能力,他的效率必然比依賴GPT的程序員高效。

整潔代碼是這樣的:

人工智能永遠不能完全取代程序員, 因爲客戶的需求總是模糊的, 程序員不只是寫代碼, 也會去討論/設計需求和架構
糟糕的代碼會殺死項目, 通常會在項目中後期體現出來, 此時項目的生產力快速下降, 影響正常迭代和問題修復
對一個成熟的項目進行重新設計和編寫, 往往會分散人力, 同時新版的項目要想替換老項目也會耗時很久, 可能因爲中間的人力變更導致爛尾
程序員要積極的擁抱項目發展中的各種需求變更, 不要總是抱怨太多雜事和需求變更導致開發時間緊迫, 事實上應該和PM溝通, 說明時間的用處和壓縮時間的壞處, PM也希望可以給多的時間來產出優秀的代碼.
整潔的代碼是能讓其他讀者覺得, 這個代碼是編寫者用心寫的, 幾乎沒有可以改進的地方, 其他人沒有辦法讓這段代碼變得更好了.
在編寫代碼的時間裏, 實際上我們需要一直讀之前的代碼. 因此, 提高代碼可讀性是非常重要的.
時刻的記住保持代碼的整潔, 從細微處做起.

這不由我們想起一箇中國古話:

      物極必反--意思是指事物發展到極端,會向相反方向轉化,出自《呂氏春秋·博志》

    ChatGPT只能是一個助手,不是全職選手。助手代碼意思是輔助,主角還是每個人個體。我們需要持續加強的個體能力。個人的軟件需求理解與分析能力是GPT目前不能代替的。

     風險二: 過於依賴ChatGPT缺乏獨立思考,個體的獨立思考能力纔是前進與成長的源頭。 過於依賴ChatGPT出解決方案,實際上已經是開始弱化個人獨立思考能力,探索能力。人總是在依賴。獨立思考是一種重要的能力,它可以幫助我們更好地理解世界,做出更明智的決策,同時也能夠在個人和職業生涯中獲得成功。讓我們再次回顧獨立思考能力:

一 . 自我認識
在獨立思考的過程中,自我認識是至關重要的基礎。我們必須對自己的價值觀、偏見等有充分的認知,這樣才能更加客觀地看待事物,並避免被情感、偏見等因素所左右。如何才能通過“自我認識”使自己的思想更客觀呢?總結了以下6個方法:

1、接受自己的情緒和感受。
有時候我們會因爲自己的情緒而產生主觀判斷,而通過自我認識,我們可以更好地接受自己的情緒和感受,不再因爲主觀感受扭曲客觀事實。
2、客觀回顧自己的人生經歷,考慮到這些經歷對於自己的影響。
這包括自己所面臨過的挑戰、獲得的經驗、學到的知識、受到的影響等,從而瞭解自己的優勢和弱點以及內心深處的慾望。
3、多與自己心靈溝通。
我們往往會被忙碌的生活所迷惑,而很難聽到內心深處真正想說的話,從而忽略了自己的獨立思考能力。因此,平時可以試着與自己交流,藉助寫日記、冥想等方式來反思自己的想法和感受。
4、注意思想的變化。
每個人的想法會隨着時間的推移而不斷變化,因此要時刻關注自己的思想動態,洞察自己的內心變化。這樣才能及早糾正不良思想和行爲,並建立符合自己價值觀的準則。
5、多接觸新事物。
人的成長離不開接觸和經驗的積累,只有不斷接觸新事物、興趣點才能讓自己知識面更廣,思維更加開闊,從而有助於形成獨立的思考方式。
6、尋求外部反饋。
我們的內心世界常常是模糊的,而與他人交流意見就能讓我們更全面地接受自己的缺點和優勢。通過跟長輩、朋友、同事等人交流,認真聽取他們的建議、批評、反饋,從而發現自己的不足之處,並儘可能糾正。


二. 知識儲備
想要做出獨立思考,僅僅依靠感性和直覺是不夠的,還需要我們在一定的領域內擁有大量的儲備的知識與信息。
掌握大量領域內的知識,能夠幫助我們更好地理解問題的原委,也能夠讓我們進行更爲全面和客觀的思考。另外,在掌握足夠多的知識的過程中,更能夠發掘出問題的深層次的本質,以及事物之間的關聯等等。
如何快速地增加自己在一個領域內的知識儲備呢?
有幾點經驗分享給你:

1、瞭解該領域的基本概念和理論。
在學習某一領域之前,需要先了解該領域的基本概念和理論,明確學習目標。可以通過閱讀相關的入門書籍或教材,瞭解該領域的基礎知識。
2、閱讀該領域的經典著作或研究論文。
要深入瞭解一個領域,必須閱讀相關領域的經典著作或研究論文,掌握該領域的基本理論、思想和方法,同時對研究者們解決問題的思考方式和方法進行學習。
3、結交該領域的專家、學者和從業者。
在這個領域有人脈可以和其交流和學習,也有利於獲取更多知識和諮詢。參加該領域的專業活動和交流會議,能獲取更爲權威的信息和交流。
4、實踐學習和應用。
學習知識不能孤立於理論知識,要將其與實踐結合起來,貫徹到實踐中,進行實際操作與策略應用,增加自己的實際經驗。
5、縱向學習和橫向拓展。
同時,除了加深主要領域的認識和了解以外,也需要橫向拓展,涉及到其他領域的知識。


三. 批判性思維是一種能夠使人們更加客觀和嚴謹的思考方法。在面對複雜和深度的問題時,批判性思維能夠幫助我們從多方面、多角度來分析問題,並通過常識、邏輯、科學等方面的知識,自主地判斷是非、對錯等問題。

image

批判性思維需要不斷鍛鍊和練習,可以從以下幾個方面入手:

1、對信息進行評估。
批判性思維的基礎是對信息進行評估,搜尋事實和觀點的來源、邏輯和證據,瞭解採用的方法和數據是否可靠。在這個過程中需要用一些思考工具,例如如何評價信息來源,檢查事實是否真實,檢查理論是否有道理等。2、採用多角度思考。
批判性思維鼓勵多角度思考,在評估信息和進行決策時,需要考慮多種觀點和可能性,同時也要了解和接受不同的觀點和聲音,嘗試提出不同的想法和解釋。
3、提出問題和假設。
批判性思維強調提出問題和假設,鼓勵審查和重構自己的思想,找到解決問題的方法。在提出問題和假設的過程中,需要防止表面現象的錯誤評估,提出主觀性評價,要注意邏輯縝密性。
4、發掘潛在的偏見。
批判性思維推崇以客觀的態度對待事物,儘量抵制個人看法和偏見的衝擊。要識別潛藏的偏見,並時常檢查自己的態度和偏見是否對事實的評估產生誤導。

5、練習思考和表達。
批判性思維的最終目標是要能夠思考和表達自己的觀點和決策。在練習思考和表達過程中,要注重語言表達的準確性、邏輯性和語境適當性。在自我表達過程中,要緊跟文化發展,以平等、完整、健康的方式展現。

 


今天先到這兒,希望對雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 項目管理, 產品管管,團隊建設 有參考作用 , 您可能感興趣的文章:
領導人怎樣帶領好團隊
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
視頻直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
互聯網數據庫架構設計思路
IT基礎架構規劃方案一(網絡系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變

如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閱號:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]

作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 該文章也同時發佈在我的獨立博客中-Petter Liu Blog。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章