自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ChatGPT強(qiáng)悍的編程能力,讓我嚇出一身冷汗!

人工智能
ChatGPT確實(shí)很厲害,應(yīng)該是學(xué)習(xí)了海量的數(shù)據(jù),肚子里貨很多,但是它依然沒(méi)有真正的理解需求,它告訴我們的答案就是在現(xiàn)有知識(shí)中做提煉和整合。

最近有好幾個(gè)人給我安利ChatGPT,說(shuō)老劉快你去看看吧,這貨實(shí)在太強(qiáng)了,搞不好我們程序員都失業(yè)了。

剛開(kāi)始我都是微微一笑,怎么可能?我之前的觀點(diǎn)一直都是在我的有生之年,AI絕對(duì)不可能干掉程序員。

但是安利的人實(shí)在是太多了,我忍不住要去注冊(cè)個(gè)賬號(hào)去看一下。

沒(méi)想到這貨竟然沒(méi)對(duì)中國(guó)開(kāi)放,網(wǎng)上有些攻略,我嫌麻煩,趕緊呼叫在國(guó)外的好兄弟,請(qǐng)他幫忙注冊(cè)一個(gè)賬號(hào)。 

嘗試開(kāi)始,我決定跳過(guò)那些簡(jiǎn)單的問(wèn)答,例如:

如何反轉(zhuǎn)一個(gè)字符串?

如何發(fā)起一個(gè)HTTP調(diào)用?

因?yàn)檫@種東西對(duì)于閱碼無(wú)數(shù)的AI來(lái)說(shuō)太小兒科了,根本測(cè)試不出來(lái)它的本事有多大。

程序員的一個(gè)核心能力就是拿到需求,能作出優(yōu)雅的設(shè)計(jì),咱們就拿這一點(diǎn)考考它。

先問(wèn)一個(gè)簡(jiǎn)單的問(wèn)題:

圖片

(點(diǎn)擊看大圖)

不出所料,它“背誦”得非常好!

它說(shuō)的最后一個(gè)原則是:盡量使用合成/聚合的方式,而不是繼承來(lái)達(dá)到復(fù)用目的。 這確實(shí)是面向?qū)ο笠粋€(gè)重要的設(shè)計(jì)原則。

ChatGPT能運(yùn)用這樣的原則嗎?

先問(wèn)問(wèn)它會(huì)不會(huì)做設(shè)計(jì):

圖片

說(shuō)得真不錯(cuò),咱們開(kāi)始放大招,我手頭正好有一個(gè)經(jīng)典案例:薪水支付,這是從經(jīng)典書《敏捷軟件開(kāi)發(fā):原則,模式和實(shí)踐》中提取出來(lái)的。 

這個(gè)案例的需求是這樣的:

該系統(tǒng)由一個(gè)公司數(shù)據(jù)庫(kù)以及和員工相關(guān)的數(shù)據(jù)組成,系統(tǒng)需要準(zhǔn)時(shí)地按照規(guī)則給員工支付薪水

員工有三種類型

1.鐘點(diǎn)工,每個(gè)小時(shí)有固定報(bào)酬,他們每天提交工作時(shí)間卡,其中記錄了日期以及工作小時(shí)數(shù),如果每天工作超過(guò)8小時(shí),按1.5倍進(jìn)行支付。每周五對(duì)他們進(jìn)行支付。

2.月薪員工,工資固定,每個(gè)月的最后一個(gè)工作日對(duì)他們進(jìn)行支付

3.銷售人員,有固定工資,但會(huì)根據(jù)他們的銷售情況,支付給他們一定數(shù)量的傭金,他們會(huì)提交銷售憑條,其中記錄了銷售的日期和數(shù)量。每隔一周的周五對(duì)他們進(jìn)行支付。

員工可以選擇支付方式,可以把支票郵寄到他們指定的郵政地址,也可以保存在財(cái)務(wù)那里隨時(shí)支取,或者要求直接存入他們指定的銀行賬戶。

看了這個(gè)需求以后,一般的設(shè)計(jì)是這樣的:

圖片

Employee 作為基類,不同類型的雇員類來(lái)繼承。

但是這個(gè)需求會(huì)有變更,客戶要求員工類型可以變更,例如從鐘點(diǎn)工變成月薪雇員,這樣上面的設(shè)計(jì)就不行了。

這個(gè)時(shí)候應(yīng)該做個(gè)抽象,,用一個(gè)類PaymentClassification來(lái)表達(dá)支付分類,然后讓Employee類持有這個(gè)實(shí)例,簡(jiǎn)單說(shuō)就是組合代替繼承。

圖片

這相當(dāng)于是個(gè)陷阱了,我們程序員能識(shí)別,抽象,這個(gè)ChatGPT可以嗎? 我還真有點(diǎn)好奇。

先問(wèn)最初的需求,ChatGPT的回答是這樣的:

圖片

(點(diǎn)擊看大圖)

你別說(shuō),還真是不錯(cuò),它“理解”了需求,從中抽取出了名詞進(jìn)行類的設(shè)計(jì),并且設(shè)計(jì)好了類的繼承關(guān)系。

已經(jīng)達(dá)到了面向?qū)ο笤O(shè)計(jì)的初級(jí)水平。

接下來(lái)是重點(diǎn),給他挖坑:

圖片

圖片

圖片

非常驚艷,這貨竟然學(xué)會(huì)了抽象!

雖然它抽象出的類型叫EmployeeType,不如PaymentClassification那么精確,但是大方向是一致的:用EmployeeType來(lái)管理支付規(guī)則,員工類型發(fā)生變化時(shí),Employee類不需要變化。

說(shuō)實(shí)話,我看到它給出這個(gè)結(jié)果,內(nèi)心是很吃驚的,可以說(shuō),能超越相當(dāng)多的程序員了。

接下來(lái)我又問(wèn)它關(guān)于支付周期怎么處理:

圖片

這一次它的抽象更加厲害,直接給出了精確的名稱:PaymentSchedule,還有相關(guān)的偽代碼!

圖片

它還特別提到了,當(dāng)需要修改支付周期時(shí),只需要更改PaymentSchedule即可,不用修改原有的員工類,組合優(yōu)于繼承,再次體現(xiàn)出來(lái)。

這和書中的例子幾乎一樣了:

圖片

繼續(xù)問(wèn)支付方法的處理方式:

圖片

不出所料,它的設(shè)計(jì)依然很棒:

圖片

實(shí)際上,ChatGPT的設(shè)計(jì),已經(jīng)非常接近書中的最終方案了:

圖片

嘗試到這里,心里有一絲失落和不甘,這個(gè)ChatGPT實(shí)在是太強(qiáng)悍了,展示出來(lái)很強(qiáng)的設(shè)計(jì)能力,并且對(duì)話過(guò)程非常流暢。

人工智能真的能理解需求,學(xué)會(huì)了抽象,能設(shè)計(jì)出漂亮的類結(jié)構(gòu)了嗎?程序員的核心能力被替代,程序員的危機(jī)真的來(lái)了?

我又問(wèn)了它一個(gè)問(wèn)題,讓它把類圖畫一下:

圖片

圖片

圖片

等等,這里的類名怎么和之前的不一樣了,怎么出現(xiàn)了一個(gè)新的概念:工會(huì)成員? 我在這次對(duì)話中,可是從來(lái)沒(méi)有告訴過(guò)它這個(gè)概念??!它從哪里知道的?

最大的可能是,這貨并沒(méi)有理解我告訴它的需求,它之前應(yīng)該學(xué)過(guò)這個(gè)案例,依然是在“背誦”它學(xué)習(xí)的東西,自作主張把工會(huì)成員也給我弄出來(lái)了,從而露出了馬腳。 

我關(guān)掉了ChatGPT網(wǎng)站,再次登錄,重新用同樣的內(nèi)容和它交互,這次的結(jié)果徹底地把它暴露了。

圖片

圖片

看到?jīng)]有,這次它根本沒(méi)有抽象出PaymentClassification/EmployeeType,它竟然推薦了面向過(guò)程的思路,添加一個(gè)type的屬性,用switch來(lái)解決問(wèn)題。這比之前的方案要差太多了。

最后聊一下感受吧!ChatGPT確實(shí)很厲害,應(yīng)該是學(xué)習(xí)了海量的數(shù)據(jù),肚子里貨很多,但是它依然沒(méi)有真正的理解需求,它告訴我們的答案就是在現(xiàn)有知識(shí)中做提煉和整合。

如果拋給它一個(gè)完全全新的領(lǐng)域問(wèn)題,估計(jì)它會(huì)懵的,大家可以拿實(shí)際業(yè)務(wù)問(wèn)題來(lái)玩一下。

所以,ChatGPT是一個(gè)好幫手,但是你要想完全依賴它,可要掂量掂量了,它告訴你的可能是優(yōu)雅的代碼,也可能是垃圾代碼。

責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)翻身
相關(guān)推薦

2012-06-11 09:05:29

2019-06-05 19:03:03

微信消息延遲

2021-08-23 08:01:38

微信IM系統(tǒng)

2011-05-25 19:16:35

2020-10-21 11:20:42

MySQL數(shù)據(jù)庫(kù)Bug

2021-04-15 19:37:06

戴爾

2011-08-31 15:39:16

惠普激光打印機(jī)

2011-10-13 16:54:33

聯(lián)想激光打印機(jī)

2014-05-23 10:25:48

Clojure

2011-06-17 09:39:04

華為Sx700交換機(jī)華為

2023-04-13 13:03:25

信息技術(shù)ChatGPT失業(yè)

2017-06-21 09:20:29

AMDEPYC處理器

2015-09-22 21:24:37

惠普激光打印機(jī)

2011-11-26 12:24:44

惠普復(fù)合一體機(jī)

2012-09-17 09:59:46

創(chuàng)業(yè)創(chuàng)業(yè)教訓(xùn)創(chuàng)業(yè)家

2023-03-30 13:56:38

ChatGPT

2017-03-06 16:59:22

戴爾

2014-03-06 15:48:37

李奕泓編程程序媛

2023-04-20 14:48:05

微軟AIChatGPT

2012-07-25 09:56:52

編程程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)