日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 嵌入式微處理器
[導(dǎo)讀]在Facebook網(wǎng)站上有一個(gè)名為“Il Programmatore di Merda”(“ The Shitty Programmer”,中文俗譯為“粑粑程序猿”)的社區(qū)。我經(jīng)常上去瀏覽,這個(gè)網(wǎng)站經(jīng)常分享一些寫的爛的代碼和有關(guān)編程的話題。這不,今天我就看到一段令人難以置信的爛代碼,有圖有真相~

在Facebook網(wǎng)站上有一個(gè)名為“Il Programmatore di Merda”(“ The Shitty Programmer”,中文俗譯為“粑粑程序猿”)的社區(qū)。我經(jīng)常上去瀏覽,這個(gè)網(wǎng)站經(jīng)常分享一些寫的爛的代碼和有關(guān)編程的話題。這不,今天我就看到一段令人難以置信的爛代碼,有圖有真相:


本周最爛代碼


請(qǐng)各位仔細(xì)查看,上面的代碼錯(cuò)誤太多,我一時(shí)不知該從哪兒說起。


如果你是一個(gè)初級(jí)開發(fā)工程師,本篇文章會(huì)幫你理解上述代碼中存在的一些嚴(yán)重的bug,希望各位同學(xué)引以為鑒。


128 行錯(cuò)誤代碼

我將上面的代碼摘錄下來,以便后面一起來討論。代碼如下:


<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ù)制完的一時(shí)之間,我竟不知道從何說起了。上述錯(cuò)誤大致分為 3 類:


  • 安全問題

  • 基本編程概念問題

  • 代碼格式化問題


2 安全問題


我們非常確定以下代碼能夠在客戶端運(yùn)行,因?yàn)樗呀?jīng)包含在兩個(gè)

換一批
延伸閱讀
關(guān)閉