日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

脑洞大开,如何生成 2018 年度代码报告

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 脑洞大开,如何生成 2018 年度代码报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天網易云音樂、B站等 APP 都放出了用戶的 2018 年度使用報告,在朋友圈掀起了一股年度報告的熱潮,我昨天在刷微博時看到”精分君”分享的《年度罵人報告》后,在被笑得眼淚都出來的同時,也在想我是不是也可以出一個《年度代碼報告》呢?

收集信息

得益于今年工作的穩定,所有本地代碼倉庫都老實地放在各個 jetBean 軟件目錄下,而且代碼版本控制工具上,工作用 Gitlab,業余用 Github,都屬于 git 系列,所有的提交記錄都可以從 git log 里查詢到,極大地方便了我收集信息。

git log

使用?git log?命令可以很方便地查看 git 的提交記錄,我們在 git 目錄下,不帶任何參數使用 git log 命令時,會像平常使用 less 等命令時,進入一個內容瀏覽界面,在這里,我們可以翻頁從前到后查看所有的 git 提交記錄。使用?>?內容重定向符可以把 git log 重定向到指定的文件中,這時候我們看到的信息如下:

commit?ee66af2de2e0b11bb9c987969916fcf486c25f1e Author:?zhenbianshu?<zhenbianshu@foxmail.com> Date:???Thu?Dec?27?19:32:28?2018?+0800fix?site?base?url;

可以看到,每一條提交記錄都被拆分成了多行,而且如果 commit comment 有多行的話,日志會更不規則。git log 提供了?--pretty?參數可以幫助我們提取指定字段,并將它們集成到同一行。

pretty 參數的用法為?git log --pretty="FORMAT",如我們常用的 printf 函數一樣,可以在 FORMAT 中指定需要字段的占位符,各個字段對應的占位符都可以在 Git 官方文檔中查找到,這里我只需要?%h(短 hash)、%cd(完整提交時間)、%s(提交時的 comment)。

此外,我們還可以通過?--after?各?--before?限制 git log 的時間范圍,在多人合作的項目中,還需要使用?--author限定提交的作者,最終完整的命令如下:

git?log?--after="2018-01-01"?--before="2019-01-01"?--author="zhenbianshu"?--no-merges?--pretty=format:"%h?|?%cd?|?%s"?>>?/tmp/git.log

添加信息

通過 git log,我拿到像這樣的提交信息:81cb3a0bb | Fri Feb 9 10:25:12 2018 +0800 | fix bad smell;,由于缺少項目和語言信息,還需要完善一下這些提交信息。

首先,在上一步,我將各個項目的 git log 都保存在?項目.log?的文件里了,一共有 20 個項目,意味著我去年向 20 個倉庫貢獻了代碼。 但這些倉庫使用的編程語言是沒法自動識別的,我只好手動把這些倉庫都放到?編程語言?文件夾內,最終的文件目錄如下:

./C/rsync.log ./go/gotorch.log ./Java/story.log ./shell/video-simulation.log ...

接下來,再把各個文件的的路徑名填充到各行后整合到一個文件就行了。

這里我使用了?find、 xargs 和 awk?命令,命令如下:

find?.?-name?"*.log"?|?xargs?-I?{}?awk?-v?file="{}"?'{print?file,$0?}'?{}?>>?/tmp/raw.log

xargs 指定了?{}?作為 find 查到文件的替代符,然后使用 awk 的?-v?選項將文件名作為變量傳入每一行。

分析

shell 命令

分析其實挺簡單,就是把常用的 linux 命令揉合一下,無非是?awk、grep、sort、uniq、wc?等。

主要用到的命令選項是:

  • grep -e XX -e YY?搜索包含 XX 或包含 YY 的行;

  • grep -E 'regex'?按照正則搜索;

  • awk '{if(A){B}}'?awk 里的條件判斷語句。

  • sort -f '*' -kn?以 * 分隔每行后,按第 n 列排序;

分析命令

貼兩個所用的分析命令吧。

  • 提交代碼最多時段。

    我把一天的時間劃分為四個時段: 0-6點凌晨、6-12點上午、12-18點午后、18-24點夜晚,對應命令是:?awk '{if($6>="00:00:00" && $6<"06:00:00"){print "凌晨"};if($6>="06:00:00" && $6<"12:00:00"){print "上午"};if($6>="12:00:00" && $6<"18:00:00"){print "午后"};if($6>="18:00:00" && $6<="23:59:59"){print "夜晚"};}' git.log | sort | uniq -C?結果是:

    5?凌晨 296?上午 679?午后 346?夜晚
  • 提交天數最多的項目。

    第二項是項目名,第五項是日期。?awk '{print $2,$5}' | sort | uniq | awk '{print $1}' | sort | uniq -c

圖片處理

數據分析出來之后,就是處理圖片了。

我是在網易云音樂年度聽歌報告的基礎上改的(不用作商業,應該沒問題吧,有問題請私我),所以需要一個像 Photoshop 一樣的 P 圖工具,在 Mac 上推薦用?Pixelmator,功能上跟 Photoshop 沒什么區別,但軟件大小才 100 多 M,比動轍 1G 多的 Photoshop 好多了。

軟件工具上,主要用了補丁、文字、選區、裁剪、取色、倒色、圖層等工具,之前有些 Ps 基礎,用起來很簡單。

成果

然后就是成果展示了,有些地方抹花了,湊合看吧~

小結

做些有意思的事,代碼寫起來更歡快了呢~

另外,shell 用著真舒服~

總結

以上是生活随笔為你收集整理的脑洞大开,如何生成 2018 年度代码报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产农村妇女精品 | 国产精品区二区三区日本 | 午夜精品一区二区三 | 尤物91| 精品国产一区二区三区久久久蜜月 | 浪漫樱花在线观看高清动漫 | 九九九在线 | 毛片免| 色亚洲视频 | 国产日韩欧美在线 | 精品无人区无码乱码毛片国产 | 日本男人天堂网 | 华人永久免费 | 91精品人妻一区二区三区蜜桃欧美 | 亚洲永久精品一区二区 | 天天干天天操 | 绿帽视频| 欧美伦乱| 日韩毛片在线 | 日韩精品一区二区三 | 秋霞成人网 | 国产精品入口a级 | 国产精品va在线观看无码 | www.欧美一区二区三区 | 理论片在线观看理伦片 | 九九热视频这里只有精品 | 肉丝美脚视频一区二区 | 98av视频| 国产精品久久欧美久久一区 | 免费观看日韩 | 精品无码人妻一区二区三 | 国产精品你懂得 | 国产在线三区 | 亚洲第一视频在线 | 在线观看欧美精品 | 国产视频一区二区三区在线播放 | 天天干狠狠干 | 1024精品一区二区三区日韩 | 成人短视频在线免费观看 | 黄色片一区二区三区 | 国产suv精品一区二区60 | 日韩av无码久久 | 国产精品久久久久久妇女6080 | 国产ts三人妖大战直男 | 国产精品美乳在线观看 | 国产一区二区精品在线观看 | 国产热 | 少妇光屁股影院 | 黄色一级大片在线免费看国产一 | 国产精品视频网址 | mdyd—856冲田杏梨在线 | 性生交大全免费看 | 五月天婷婷久久 | 天天爽夜夜春 | 国产精品精品视频 | 国产黄色一级 | 岛国av在线播放 | 国产夜色精品一区二区av | 91亚洲一区 | 欧美人与性动交α欧美片 | 91免费在线视频 | 成人av在线网 | 国产亚洲区 | 国产欧美一区二区三区另类精品 | 女性生殖扒开酷刑vk | 中文字幕日日 | 越南黄色一级片 | 精品一区二区电影 | 波多野一区 | 欧美在线一区二区视频 | 视频一区二区三区在线 | 亚洲免费观看高清完整 | 日韩精品在线播放 | 91在线日本| 国产乱欲视频 | 国产任你操 | 免费看黄av | 一区二区成人在线观看 | 日本暧暧视频 | 91精品国产99久久久久久红楼 | av网站大全在线观看 | 欧美成人免费看 | 欧美高清精品 | av二区在线| 特级新鲜大片片 | 久久久久久毛片 | av爱爱| 91av视频免费观看 | 免费在线黄| 国产一区二区三区四区五区美女 | 日本xxxxxwwwww | 免费在线看黄色 | 免费在线播放黄色片 | 九七电影院97理论片 | 国产偷啪| 强行侵犯视频在线观看 | 精品无码人妻少妇久久久久久 | 国产原创视频 | 亚洲欧美日韩精品色xxx |