第一次玩企业项目

第一次玩企业项目,第一次玩封闭开发。唔,又可以在“成就”的单子上狠狠地画一个 Check 了!

在书上看到那个笑话,腕关节受伤了,医生说“需要减少一半的工作量”。那么现在问题来了,是不去开会呢,还是不去编程呢?

上午 8:30 开始讨论,第一天讨论到 9:30,第二天 10:00,到后来整个上午都在讨论,下午码代码,一边码着,遇到问题了,继续开始讨论。前 6 天,几乎全天都在头脑风暴,留给 coding 和 debug 的时间并不多。也是,只要有思路了,代码,只是用来“码”的。

第一次,第一次写单文件超过 600 行的代码,第一次做最后的“集成”工作。

三个人,代码风格完全不同,最后硬是重命名、改来改去,外部看起来风格完全一致了。当然,不得不吐槽学姐写了个 500 行的大 if,整个类里面所有变量都用的 private static,不得不吐槽“shi_jian_jing_yan_biao_qian.csv”和“dayu2.txt”这样的神命名。项目开始之前没有约定命名规范,后面是会死人的。

也学到了不少东西。比如单例模式。没加上单例模式的时候,频繁读小文件,处理 100 个数据需要 20 秒。改成单例的之后,速度蹭蹭蹭上去了,100 个文件只需要 8 秒。小心脏都有点受不了了。比如正则表达式,一个正则写错了,整个程序不工作。虽然正则的高级用法还是一窍不通,但是比起以前,要好一点。

也写出来了个简单的爬虫框架。没错,微型框架,够用就好。一星期写了 8 个爬虫,Python 3 个,Java 5 个。现在自己的 Python 虫子已经能模拟登录、能安心多线程抓取东西了。虽然交付的时候还是用的 WebMagic。

其实写的代码并不多。一个主要的运行类,一个很大很大的辅助类,给别人写了 N 个读文件的类,写了 N 个爬虫和对应的辅助类,然后就是重构别人的代码了。把文件 IO 部分抽出来,统一定义相对路径,整合上下层调用接口……唔,好累……

还有很奇葩的 Web 中文乱码。都什么玩意儿啊!!奇葩的 windows!!竟然允许看不见、选不中的字符存在!导致从 URL 里面获取的每一个参数都得做过滤,滤掉某个 ascii 码为 5000 多的一个神奇的字符和一个 ascii 码为 160 的一个神奇的字符。这还不是最关键的,神奇的巨硬公司,默认编码到底是什么啊你告诉我!Linux、Java 默认编码都是 UTF8,一到 Windows 上就乱码……China、Japanese、Koera 三种文字绝对是世界上最神奇的文字!绝对是世界上所有程序猿的噩梦!!

还有一点我一直搞不懂。老师在和 KK 讨论程序:这个不是你的想法吧?这个应该是郝昱提出来的吧……老师,你是怎么看出来的!!我承认有些时候我很异想天开,但是你怎么发现的啊!

我发现,默契从来都是靠时间来培养出来的。和小东、小迪他们,三两句话就能明白了,和一个新团队,解释半天都不行。

总之呢,现在烦透了 Java,没有理由。

C++是最精妙的语言!!!

PHP 是最好的写网页的语言!!!

Python 是最优美的语言!!!

就到这里,睡觉去。

发表评论

电子邮件地址不会被公开。 必填项已用*标注