審閱“史上”最爛的代碼
Facebook 上有一個(gè)名為“Il Programmatore di Merda”(翻譯為“ The Shitty Programmer”,中文含義為“糟糕的程序猿”)的社區(qū), 我經(jīng)常去瀏覽。網(wǎng)站經(jīng)常分享一些糟糕的代碼和有關(guān)編程的話題。今天,我看到一段令我難以置信的代碼:
本周最爛代碼
仔細(xì)看看,上面的代碼錯(cuò)誤太多,以至于我不知從何談起。
如果你是一個(gè)初級(jí)開(kāi)發(fā)工程師,這篇文章會(huì)幫你明白上述代碼中存在的一些非常嚴(yán)重的問(wèn)題,并讓你引以為鑒。
28行錯(cuò)誤代碼
我把上面的代碼摘錄下來(lái),以便我們進(jìn)行后面的討論:
<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>
一時(shí)之間,我竟不知道從何說(shuō)起。
上述錯(cuò)誤大致分為 3 類(lèi):
安全問(wèn)題
基本編程概念問(wèn)題
代碼格式化問(wèn)題
安全問(wèn)題
我們非常確定以下代碼會(huì)在客戶(hù)端運(yùn)行,因?yàn)樗话b在兩個(gè)
欧美成人91
|
韩国一区二区毛片
|
大鸡巴操逼视频免费看
|
色婷婷成人做爰A片免费看网站
|
极品粉逼|
