[導(dǎo)讀]在Facebook網(wǎng)站上有一個名為“Il Programmatore di Merda”(“ The Shitty Programmer”,中文俗譯為“粑粑程序猿”)的社區(qū)。我經(jīng)常上去瀏覽,這個網(wǎng)站經(jīng)常分享一些寫的爛的代碼和有關(guān)編程的話題。這不,今天我就看到一段令人難以置信的爛代碼,有圖有真相~
在Facebook網(wǎng)站上有一個名為“Il Programmatore di Merda”(“ The Shitty Programmer”,中文俗譯為“粑粑程序猿”)的社區(qū)。我經(jīng)常上去瀏覽,這個網(wǎng)站經(jīng)常分享一些寫的爛的代碼和有關(guān)編程的話題。這不,今天我就看到一段令人難以置信的爛代碼,有圖有真相:
本周最爛代碼
請各位仔細查看,上面的代碼錯誤太多,我一時不知該從哪兒說起。
如果你是一個初級開發(fā)工程師,本篇文章會幫你理解上述代碼中存在的一些嚴(yán)重的bug,希望各位同學(xué)引以為鑒。
我將上面的代碼摘錄下來,以便后面一起來討論。代碼如下:
<script>
function authenticateUser(username, password) {
var accounts = apiService.sql(
"SELECT * FROM users"
);
for (var i = 0; i < accounts.length; i++) {
var account = accounts [i];
if (account.username === username &&
account.password === password)
{
return true;
}
}
if ("true" === "true") {
return false;
}
}
$('#login').click(function() {
var username = $("#username").val();
var password = $("#password").val();
var authenticated = authenticateUser(username, password);
if (authenticated === true) {
$.cookie('loggedin', 'yes', { expires: 1 });
} else if (authenticated === false) {
$("error_message").show(LogInFailed);
}
});
script>
把代碼復(fù)制完的一時之間,我竟不知道從何說起了。上述錯誤大致分為 3 類:
安全問題
基本編程概念問題
代碼格式化問題
我們非常確定以下代碼能夠在客戶端運行,因為它已經(jīng)包含在兩個
換一批
延伸閱讀
要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...
關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟