惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 叶小钗
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
爱范儿
爱范儿
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
量子位
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Commits to openclaw:main
Recent Commits to openclaw:main
SecWiki News
SecWiki News
MyScale Blog
MyScale Blog
AI
AI
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 【当耐特】
Security Archives - TechRepublic
Security Archives - TechRepublic
F
Fortinet All Blogs
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
W
WeLiveSecurity
Project Zero
Project Zero
T
Tor Project blog
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
IT之家
IT之家
The Hacker News
The Hacker News
腾讯CDC
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
C
Cisco Blogs
博客园 - 聂微东
Webroot Blog
Webroot Blog
Forbes - Security
Forbes - Security
M
MIT News - Artificial intelligence
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans

Inno' Blog

将 what-digit-you-write 部署到 Heroku上 | Inno' Blog 论文浅析:GpSense: A GPU-friendy method for common-sense subgraph matching in massively parallel architectures Github项目clone速度过慢?试试这招 | Inno' Blog Hadoop分布式搭建全流程记录 | Inno' Blog Shell编程学习记录 | Inno' Blog 重学MySQL之视图 | Inno' Blog 重学MySQL之查询练习 | Inno' Blog 重学MySQL之事务 | Inno' Blog 重学MySQL之范式 | Inno' Blog 重学MySQL之基本操作和约束 | Inno' Blog 为你的Web应用提供HTTPS服务 | Inno' Blog 一个关于切片的小问题 | Inno' Blog Go语言学习笔记 | Inno' Blog 关于英译中的个人技巧 | Inno' Blog YARN 架构 | Inno' Blog HDFS 架构 | Inno' Blog 正则中关于环视(lookaround)的小例子 | Inno' Blog 设计模式(十八):访问者模式 | Inno' Blog 如何借助Github进行协同开发 | Inno' Blog
不知不觉已经写够了十万行代码 | Inno' Blog
Inno Fang · 2019-04-15 · via Inno' Blog

大一的时候,那会还是一个刚开始学 C 语言的小白,偶然间看到过一个问题 如何才能写够十万行代码。当时觉得,我这种水平要在毕业前写够十万行代码真的太难了,我也没奢望能写够这么多的代码。

大学四年,转瞬即逝。不知不觉间,我差不多写到了大学(可能)最后一个项目 —— 毕设。现在已是四月中旬,经过一个多月的摸索,一边查阅文献,一边尝试,毕设也算是接近完成。偶然回过头想看看我那些与代码为伴的时光,很好奇这四年到底写了多少行代码?

我这四年写过的项目包括但不限于算法实践、Android、桌面 GUI、React、Spring Boot、机器学习、深度学习等,没接过外包,写过的代码有 C、C++、Java、Kotlin、Python、JavaScript、Dart,Processing 等,其它还玩过的比如 Lisp、Clojure、Matlab、Shell 等,再比如 HTML、CSS、XML 这些就暂且不算代码了吧,Github 上托管的项目也有 23 个了。于是就想写一个小工具来测一测自己还记得的且 Github 上还维护的项目,那些本地未上传或搬不上台面的项目就不统计了,下面是结果截图

result

总代码行数为 163,747,其中注释有 23,277,空行 29,437,所以有效代码大概为 111,033。这次写的代码计数工具,剔除了 out、build、node_modules、target 等项目生成文件,并且我检查过所有输出的路径,所以最后结果还是比较可信的。

上面的结果显示,我的 Java 代码占总有效代码行数的 67.90%。我大一进了 Android 实验室之后,就把大部分经历都投入到了 Java 和 Android 开发中,从大一下写到了大三上,差不多两年时间,后期为了跟进前沿技术开始学习了 Kotlin,期间也让我一直都很困惑,自己的技术面过于狭窄。到了大三下开始学习 Web 开发,我没有使用学校教的 SSH 开发,而是另外自学了 Spring Boot 和 React,一是想着拓宽自己的技术面,二来想着框架既然要学为什么不学新的呢?最后使用这两项技术,利用前后台分离的方式,实现了一个 Jokul 电影网站,写完后也算是打开了新世界吧,至少尝试过其它的开发;考研之前两个月还学了 TensorFlow 和 Flask,写了一个手写数字识别的网站 What digit you write?;大四上考完研后,与同学合作完成了软件大型实验周的课设,我负责前端部分完成了 Haetae 獬豸,这是一个信访大数据智能管理系统的前端,因为涉及敏感数据,所以后端没有开源,这也算是我大学四年唯一一次真正意义上的协同开发。也正是大三下到大四上的这一年,我的技术面才有了拓展。

但是,即使写够了十万行代码,我感觉也只是到了另一个阶段而已,并没什么特别的感觉,或者说也只算是成为了入门码农吧。这次考研没有上岸,惆怅了很久,如果前一年去找工作的话,现在应该也是不一样的景象,只是现在心里还是放不下,想了好久还是希望能够读书,学更多自己想学的东西,只可惜现在依旧长路漫漫。

塞翁失马,焉知非福

往后路的还得慢慢走呀。


对了,安利下这次统计代码用的工具吧 —— Code Counter,可以通过指定路径或者指定包含多个路径的文件作为输入,统计指定后缀的代码文件,实现了过滤功能,并且能够统计出代码数、空行数、注释行数,基本满足常见需求。

欢迎使用及反馈 。😁