歡迎光臨
每天分享高質量文章

代碼都智慧自動生成了,還要程式員幹嘛?

導讀:要說開源精神,阿裡估計在國內能夠排在最前列。

前一段時間,阿裡又發佈了大家喜聞樂見的代碼自動生成工具 imgcook。於是有人說:

“前端乾著乾著,就把自己乾沒了……”

 

 

本文經授權轉自公眾號CSDN(ID:CSDNnews),作者:郭芮

01 代碼是如何自動智慧生成的?

 

imgcook 中文譯為“圖像大廚”,顧名思義,它是一款專註於各種圖像(Sketch、PSD、靜態圖片)處理的工具,通過智慧化手段將各種圖像一鍵生成可維護的 UI 視圖代碼。

雖說目前還只是社區體驗版,但其也是經過淘寶前端團隊內部近 2 年的打磨才推出的全新產品。按照阿裡官方的說法,這個打著“高度還原各種圖像,釋放 UI 開發生產力”口號的 imgcook 未來足以成為一位 P5 級別的重構工程師,實現 100% 的還原、100% 的兼容、以及一鍵上線!

也就是說,設計師再也不用還原走查了,測試再也不用適配樣式了,開發再也不用切圖寫樣式了,喜大普奔有沒有……

https://imgcook.taobao.org/

 

02 自動代碼生成惹爭議:究竟是痛點還是偽需求?

 

對此,眾多吃瓜網友們立即興衝衝地圍觀吐槽之。

有表示高度認可的:

@劉子健_且行且歌:個人體驗了一下,感覺還是不錯的,總體而言瑕不掩瑜。 之前在 Github 也關註過類似的專案,但都是一些論文和實驗的資料,而這個作為實實在在可用的系統,至少是一個可用的工具了,能幫我們減少一部分的頁面開發工作量。 如果真的要做到電影里那種 AI 的效果,估計那時候大家就都都等著失業了。

@小豬快跑lele:今天在D2聽到了甄子的分享,以及現場體驗了一下,確實挺棒的,識別率也很高,個人感覺還是很有用的。但是這對設計人員有了要求,即設計稿要極其符合設計規範才能保證成功率和後期改動的成本。

@大明爺:太棒了,希望趕緊應用於各種複雜場景,終於不用寫 CSS HTML 這破玩意兒了。

@Quetzalcoatlus1:後端菜雞翹首以盼,寫 CSS 是我最痛苦的時候。

也有隨即聯想到其他或曇花一現、或艱難求存的代碼生成器:

@mountainguan:pix2code…響了一下沒了下文,最後一個commit都一年前了。

@robert_:很早以前 DreamViewer 也有,但是當時的基礎設施不完善,現在才逐漸有了模塊標準,有了豐富的組件。

更多的是存疑,並且對前端表示深深的擔憂:

@披荊走天涯:不是,我就想問下,這有啥用?生成的代碼如果我要寫交互的話,還得再看半天。

@fancy-pants:感覺都是聽上去酷炫,用上去很爛的東西。

@闊諾瀟二狗噠:前端更輕鬆了還是失業警告?

@Andself:前端互相搶飯碗可真的激烈啊!

@Ahkari卡狸:前端乾著乾著,就把自己乾沒了。

微博博主@Easy 對於前端“革命”的這一命題就表示,瞭解了語法和結構、主要函式,再補一下 Swoole 和框架等,基本上就是一個現代 PHP 程式員了。

事實上,此前也曾出現過大量的代碼自動生成器,但似乎並沒有掀起太大的波瀾。那麼對於程式員來說,所謂的代碼生成、自動編程真的有實際價值嗎?

 

03 自動編程有實際價值嗎?

 

有很多廣為人知的自動代碼生成工具都曾引起過公眾的關註,比如微軟的 Robust Fill、上面提到的 pix2code、DreamViewer 等等,此前微軟發佈的 Visual Studio 還支持智慧輔助編程。但是喧囂之下,更多的卻是跟風模仿,鮮少有人會真正在編程中應用,其生產價值也無從考究。

對於這一點,王垠在個人博客《我為什麼不在乎人工智慧》中就老早發表過自己的看法:

我現在可以很簡單的告訴你,(自動編程系統)是不可能實現的。

要機器做事,人必須至少告訴機器自己“想要什麼”,然而表達這個“想要什麼”的難度,其實跟編程幾乎是一樣的。

好的編程工具可以讓程式員工作更加舒心和高效,但任何試圖取代程式員工作、節省編程勞力開銷、克扣程式員待遇、試圖把他們變成“可替換原件”的做法最終都會倒戈,使得雇主收到適得其反的後果。

所以別妄想自動編程了。

——這樣看來,大家“追崇”的自動編程似乎頗有烏托邦之感。

但也有很多人表示,“瑕不掩瑜,其實它們至少是一個可用的工具”、“雖然效果有點堪憂,但是可以假裝代碼實際上是雇了一個月薪 3k 的實習生寫的,心裡就很能接受了”……而且隨著人工智慧技術的深度應用,總體來看也是持續優化的趨勢,不是嗎?

再看回來 imgcook 這一工具,作為“淘寶前端團隊內部近 2 年的打磨才推出的全新產品”,在代碼生成的合理性、可維護性上也是下了一番功夫,對於二次開發顯得比較友好。

此外,imgcook 還會“對還原後的 UI 在代碼層面上生成使用比較廣泛的 Flexbox 佈局”、“在一些自定義的命名上(比如樣式命名)根據開發者的習慣生成更加人性化的命名”等人性化、智慧化設計。

所以,這個不算雞肋的工具,或許也是值得一試的。

參考鏈接:

  • https://www.xttblog.com/?p=3684

  • https://imgcook.taobao.org/

  • https://www.oschina.net/news/84215/talk-about-ai

 

本文經授權轉自公眾號CSDN(ID:CSDNnews),作者:郭芮

    赞(0)

    分享創造快樂