摘要:起因?qū)τ诖a初學(xué)者來說,是一個很好的網(wǎng)站。所以我想到了一個方法將自己過的所有優(yōu)秀項目按倉庫大小代碼量進(jìn)行排序,從代碼量小的項目開始研究,逐步提升代碼能力。
起因
??對于代碼初學(xué)者來說,GitHub 是一個很好的網(wǎng)站。在這里,他們可以學(xué)習(xí)如何更好地寫代碼并提高代碼能力,學(xué)習(xí)編碼規(guī)范,各種框架......
??然而對于像我一下的初學(xué)者來講,有時候不知道要如何從 GitHub 的優(yōu)秀項目中學(xué)習(xí)、要從何開始閱讀源碼。
??所以我想到了一個方法: 將自己 star 過的所有優(yōu)秀項目按倉庫大小( 代碼量 )進(jìn)行排序,從代碼量小的項目開始研究,逐步提升代碼能力。
想好了項目的目的,列出以下幾種需要用到的技術(shù):
JavaScript
NodeJs
GitHub API
并找到了一個極小的 GitHub API 封裝工具: gh.js。
開始 安裝項目依賴包# 初始化項目 npm init npm install gh.js # 封裝過的 GitHub API npm install chalk # 美化終端命令行工具的字體顏色 npm install ora # 優(yōu)雅的終端加載條創(chuàng)建項目入口 index.js
const GitHub = require("gh.js") /** * sortByStarredSize * Sort your personal starred repos by size. * * @name sortByStarredSize * @function * @param {String} username The GitHub username. * @param {String} token An optional access token. * @param {Function} callback The callback function. * @return {gh.js} The `gh.js` instance. */ function sortByStarredSize (username, token, callback) { if (typeof token === "function") { callback = token token = undefined } const gh = new GitHub({ token: token }) gh.get(`users/${username}/starred`, { all: true }, (err, repos) => { if (err) { return callback(err) } repos.sort(function (a, b) { return a.size > b.size ? 1 : -1 }) callback(null, repos) }) return gh } module.exports = sortByStarredSize創(chuàng)建測試樣例 example.js
const sortGhStarredSize = require(".") // 以大神 Linus Torvalds 的GitHub用戶名torvalds為例 const username = "torvalds" sortGhStarredSize(username, (err, repos) => { console.log(err || repos.map(function(c) { return `${c.full_name} => ${c.size} kb` }).join(" ")) })
運行結(jié)果如下:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108404.html
摘要:說明是一個基于和開發(fā)的評論插件。默認(rèn)值類型布爾值,選填,類似評論框的全屏遮罩效果。默認(rèn)值類型布爾值,選填,如果當(dāng)前頁面沒有相應(yīng)的且登錄的用戶屬于,則會自動創(chuàng)建。參考類型布爾值,選填,啟用快捷鍵提交評論。 1. 說明 Gitalk 是一個基于 GitHub Issue 和 Preact 開發(fā)的評論插件。 Gitalk 的特性: 1、使用 GitHub 登錄2、支持多語言 [en, zh-...
摘要:從行,可以看出字符串的存儲結(jié)構(gòu)是字符數(shù)組。如果不相等,則返回兩字符的編碼值的差值第行當(dāng)前字符串和另一個字符串,依次字符比較。如果均相等,則返回兩個字符串長度的差值所以要排序,肯定先有比較能力,即實現(xiàn)接口。摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝!這是泥瓦匠的第103篇原創(chuàng)《程序兵法:Java Str...
摘要:題目來源前端實習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來進(jìn)行一個總結(jié),同樣也希望對正在準(zhǔn)備面實習(xí)生的童鞋們有所幫助最后一個參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書多碼代碼準(zhǔn)備找實習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實習(xí)生面試題自己整理一下。 題目來源:前端實習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:題目來源前端實習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來進(jìn)行一個總結(jié),同樣也希望對正在準(zhǔn)備面實習(xí)生的童鞋們有所幫助最后一個參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書多碼代碼準(zhǔn)備找實習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實習(xí)生面試題自己整理一下。 題目來源:前端實習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
閱讀 1460·2021-09-22 16:04
閱讀 2811·2019-08-30 15:44
閱讀 898·2019-08-30 15:43
閱讀 777·2019-08-29 15:24
閱讀 1860·2019-08-29 14:07
閱讀 1149·2019-08-29 12:30
閱讀 1743·2019-08-29 11:15
閱讀 2752·2019-08-28 18:08