三年,1095天,0个周末,1条快废的老腰,和一份CLOC生成的神秘报告。

一、开战:从“我会了”到“我裂了”

三年前那个阳光明媚的下午,我对着屏幕上的WPF教程,自信地敲下第一行Hello, World!,心中豪情万丈:“做个工具箱,能有多难?”

我错了。

三年后,当我终于颤巍巍地点击项目的“生成”按钮,看到那个熟悉的绿色对勾时,我悟了:这哪是写代码,这分明是肉身铸剑,以命炼丹。

白天构思架构,晚上继续爆肝实现功能。周末?不存在的,那叫“沉浸式编程日”。

唯一的“休息”,是揉着发僵的腰,对着镜子问那个胡子拉碴的男人:“这需求,咱非做不可吗?”

镜子里的男人目光坚定:“做!不然这三年白熬了?”

二、神器出鞘:当CLOC撞上我的“巨作”

项目终于能跑起来了,像个蹒跚学步的孩子。成就感?有一点,但更多的是麻木。

是时候清点“战损”了。听说高手都用CLOC,我也搞来一把。

在项目根目录,我虔诚地输入:

C:\Users\liu\Downloads\cloc-2.08.exe .\Eding.ICU.Toolkit\

按下回车,屏幕开始翻滚。那一刻,我仿佛在等待命运的宣判。

结果出来了——

总计:727,307 行!

我虎躯一震,热泪盈眶:“七十万行!我真是天选码畜!这战绩够我吹到下个本命年!”

三、残酷的“脱水”时刻:从70万到14万

激动的心,颤抖的手,我定睛细看分类,笑容逐渐消失:

  • JSON文件:6个文件,210,320行。(内心OS:一定是哪个package-lock.json在冒充主力!拖出去!)
  • Text文件:3个文件,351,420行。(这一定是哪个天杀的日志文件滚了三年没清!)
  • XAML文件:128个文件,60,080行。(嗯,XAML界面文件,亲生的,算你一份苦劳。)
  • C#文件:727个文件,79,797行。(来了来了!朕的纯血亲卫队!)

从天堂到地狱,只需要一次分类汇总。

我引以为傲的七十万大军,一夜之间缩水成十四万精锐,附带五十万“后勤杂役”和二十万“战场迷雾”。

那一刻,我理解了什么叫“代码通胀”,什么叫“虚假繁荣”。

四、十四万精兵的含金量

但很快,我释然了,甚至有点想笑。

这十四万行XAML/C#代码,可是实打实、一滴汗一滴血敲出来的。​ 它们包括:

  • 让用户双击直呼“卧槽”的300多种文件格式一键互转引擎。
  • 把隔壁团队看懵的自定义渲染流水线,复杂得像蜘蛛网,但跑起来丝滑如德芙。
  • 自己造的轮子,从数据绑定黑魔法到异步任务调度器,能写的绝不用第三方。
  • 还有那些深夜灵光一现的骚操作,现在看注释都想给自己磕一个。

这十四万行,每一行都认识我。它们见过我凌晨四点的黑眼圈,听过我对着Bug的喃喃自语,也分享过我搞定难题后对着空气打的组合拳。

它们不是冰冷的符号,是我三年的时光切片。

五、战利品:除了代码,我还得到了什么?

  1. 一副“WPF人柱力”的称号:从数据绑定、依赖属性到自定义控件、复杂布局,闭着眼都能画出来。MVVM?那不是模式,那是我的呼吸。
  2. 一套“独立开发者综合症”:包括但不限于:跟测试机自言自语、坚信自己写的文档全世界都看得懂、以及觉得产品经理这个职位(如果我有的话)很多余。
  3. 最重要的,是一种“创造者”的踏实。这行数,这功能,这从无到有的一切,都在大声告诉我和世界:“看,这玩意儿,我能造出来。”

六、给同行们的“战地报告”

如果你也在单人挖一座名叫“个人项目”的山,以下血泪经验,或许有用:

  • 定期跑CLOC,但别太把总行数当回事。核心逻辑代码量项目结构清晰度,才是硬通货。
  • 腰,腰,腰!​ 重要的事说三遍。升降桌、人体工学椅、定时起来蹦跶,投资这些比投资键盘轴体值一万倍。你的代码不会怀念你的腰椎间盘。
  • 版本控制是你的时光机。每一次提交,都是给未来那个“这TM当初为啥这么写”的自己留下的救命锦囊。

含泪PS:最初还是菜鸡的我,还不懂版本控制,半年后的一天硬盘坏了、代码丢了。我不怪固盘是最便宜的杂牌,我不怪PC-3000也无能为力,哈哈哈,因为我从C盘缓存中找回了9成,虽然我还丢失了一些其它次重要的东西。在此感谢ILSpy、VS缓存机制以及同样垃圾的C盘没有一起损坏。

再次PS:两年前开始版本控制,距离今天已经Commit了1131次,不得不说真尼玛废腰啊。。。


三年,140K代码。​ 这个数字,说出去不够惊天动地,比不上开源巨擘的星辰大海。

但我知道,每一行里,都藏着一个深夜、一个灵感、一次debug到崩溃又重来的瞬间。它不完美,但它独一无二,它从我手中生长出来。

值了。

(朋友们,你们的“战绩”又如何?评论区晒出来,让彼此知道,这条路上,我们都不曾是孤勇者。)


后记:

本文由一位腰肌已初步劳损(天天疼)但精神依然亢奋的独立开发者,含着热泪撰写。代码不开源,经验可分享,但腰子,真的只有一个。且码且珍惜。

本站启用域名:Eding.ICU,谐音【一定到ICU】,已经五年的老域名了,我为什么选择它?也许冥冥中有感?不,肯定是因为它便宜罢了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。