警惕低代碼隱藏的六大危險?
譯文譯者 | 布加迪
審校 | 重樓
代碼開發(fā)的前景再誘人不過了。誰不想減少工作量?誰不想靠在座椅上,讓機器收拾殘局?畢竟,幾十年來我們一直在告訴機器該怎么做。它們現(xiàn)在應(yīng)該已經(jīng)會做一兩件事。
好消息是,越來越多的公司已經(jīng)找到了方法來創(chuàng)建值得大肆宣傳的“低代碼”的軟件包。有些方法非常棒,公司可能真的準備好了更大肆宣傳的短語:無代碼。
實際上,軟件棧已經(jīng)被復雜的對話框、大大改進的拖放界面、更有彈性的數(shù)據(jù)庫和更好的集成開發(fā)環(huán)境共同改變。只要加上一點所謂的人工智能(AI),就能達成交易。
我們都看過銷售演示。點擊幾下鼠標后,整個堆棧就啟動并運行了。再點擊幾下,就可以將其與本地LDAP集成在一起,這樣辦公室里的每個人都可以登錄來完成工作。再點擊幾下,系統(tǒng)就開始輸出報告和電子表格。對于那些很幸運仍然是工作流程一部分的人來說,這一切看起來就像魔法。
但是即使已經(jīng)完成了良好的演示,代碼運行順暢,也有理由三思而后行。在靚麗的外表背后,有些問題無法通過點擊一個簡單的對話框就能解決。
盡管交付低代碼軟件包的公司提供種種承諾,甚至提供不可否認的成功故事,我們有理由保持警惕。有些軟件包并不如看上去那么好。以下是在面對低代碼時需要保持謹慎的六個原因。
自動化讓我們變得愚蠢
低代碼的賣點是,計算機和自動化通過提供一種計算杠桿,使我們的智力成倍增長,從而使人類變得更聰明。也許吧。但您可能也注意到,隨著人們越來越信任機器,我們有時會停止自行思考。如果算法說這么做是正確的,我們完全會跟著做。
不計其數(shù)的例子可以表明這種粗心大意會導致災(zāi)難。2016年,由于計算機故障讓機場工作人員一頭霧水,造成機場擁堵,多趟航班延誤。據(jù)一家報紙報道,工作人員“不知道誰已經(jīng)通過了(安檢)門”。在過去,我們?nèi)祟惾匀挥心芰庸?/span>局面,比如說,在系統(tǒng)故障的情況下,把飛機降落在東河上。一旦我們開始過度依賴機器,特別是考慮到低代碼的誘惑,我們還能在緊急情況下齊心協(xié)力嗎?
大多數(shù)規(guī)則
低代碼解決方案旨在滿足大多數(shù)人。如果貴公司有點不一樣,那么定制選項可能不夠多。到頭來,貴公司也會開始隨波逐流,貴公司會變得更像別人。也許這并不重要,但是如果貴公司依賴有自己的特殊工作流、流程或方法,支持它的唯一方法就是編寫自己的代碼。
繁瑣的東西積累
當我們人類編寫代碼時,自然做規(guī)定的最少工作,這驚人地高效。我們并不偷工減料,我們不會實現(xiàn)不必要的功能。低代碼解決方案沒有這種優(yōu)勢。它們被設(shè)計成一應(yīng)俱全式,這在計算機代碼中意味著庫中充滿了無窮無盡的if-then-else語句,用于測試網(wǎng)絡(luò)中的每種偶然性。
低代碼自然效率較低,因為它總是在測試和重新測試自己。畢竟,這種自動調(diào)整的能力是銷售團隊所推銷的魔力。但它的效率也會比由熟悉業(yè)務(wù)的人編寫的手工調(diào)整的代碼低得多。也許這些多余的設(shè)置一開始沒有那么糟糕,也許云計算公司會提供很多免費的積分。但最終,隨著項目擴大規(guī)模,總要有人為這些額外的if-then-else循環(huán)買單。
機器偏見
盡管人工智能擁有令人敬畏的能力,但沒有人真正知道它的模型中隱藏著多少偏見和不準確。低代碼平臺也有同樣的問題。
這不是一個新問題。被低代碼平臺取代的人類總是有很多偏見,這些偏見影響了他們開發(fā)的軟件。只是數(shù)千年來,我們一直在與人類的偏見作斗爭,我們已完善了許多成功對付偏見的系統(tǒng)。我們并不完美,但我們了解自身的一些缺點。
低代碼系統(tǒng)是新的。我們剛開始了解它們如何犯細微或明顯的錯誤。一旦我們克服了敬畏的感覺,不再自動地遵從神奇的算法,可能會開始找到一種方法來對付隱藏在里面的偏見。
可疑的改進
軟件開發(fā)中有多少工作是關(guān)于處理分號和變量類型的?有多少時間花在了會議上,利益相關(guān)者要求您將按鈕向左移動幾個像素,并在背景色中添加更多的紅色?
編寫一些代碼頗具挑戰(zhàn)性,但大部分代碼都是敷衍的。真正的工作在于應(yīng)對人類。低代碼版本的應(yīng)用程序常常將庫過程調(diào)用換成對話框,用于輸入所需背景色的三種RGB色調(diào)。在方框中輸入這些參數(shù)是否比編寫出一行Java、Python或C++代碼容易得多?
我們喜歡想象低代碼對話框為我們節(jié)省了時間,但在許多情況下,它們只是為設(shè)計思維的相同心理工作流程提供了一個表象?;ㄉ诘牡痛a接口可能比研讀文檔、尋找過程調(diào)用的合適語法來得更高效,但常常不像您想象的那樣可節(jié)省大量時間。
隱性成本
當?shù)痛a運行良好時,每個人都很高興只需點擊就行。但是當它運行不暢時,只有專業(yè)的程序員才能弄清楚。有時候,問題在于您需要做一些低代碼系統(tǒng)并非旨在處理的非標準事情。有時候,您已經(jīng)將系統(tǒng)逼到了出現(xiàn)故障或崩潰的地步。在任何情況下,只有知道如何編寫真正代碼的真正程序員才能找到解決方案。
低代碼存在的問題是,它常常只解決簡單的問題,比如語法。底層的一切仍然需要優(yōu)秀程序員的技能,他們可以推理出我們再也見不到的所有隱藏機制。低代碼系統(tǒng)仍然是軟件,并且不可避免地需要有人說它們的語言,即字節(jié)、數(shù)組和數(shù)據(jù)結(jié)構(gòu)的語言。
原文標題:6 hidden dangers of low code,作者:Peter Wayner