“史上”最烂代码!
时间:2020-09-29 15:29:34
手机看文章
扫描二维码
随时随地手机看文章
[导读]在Facebook网站上有一个名为“Il Programmatore di Merda”(“ The Shitty Programmer”,中文俗译为“粑粑程序猿”)的社区。我经常上去浏览,这个网站经常分享一些写的烂的代码和有关编程的话题。这不,今天我就看到一段令人难以置信的烂代码,有图有真相~
在Facebook网站上有一个名为“Il Programmatore di Merda”(“ The Shitty Programmer”,中文俗译为“粑粑程序猿”)的社区。我经常上去浏览,这个网站经常分享一些写的烂的代码和有关编程的话题。这不,今天我就看到一段令人难以置信的烂代码,有图有真相:
本周最烂代码
请各位仔细查看,上面的代码错误太多,我一时不知该从哪儿说起。
如果你是一个初级开发工程师,本篇文章会帮你理解上述代码中存在的一些严重的bug,希望各位同学引以为鉴。
我将上面的代码摘录下来,以便后面一起来讨论。代码如下:
<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>
把代码复制完的一时之间,我竟不知道从何说起了。上述错误大致分为 3 类:
安全问题
基本编程概念问题
代码格式化问题
我们非常确定以下代码能够在客户端运行,因为它已经包含在两个
换一批
延伸阅读