IT技术博客大学习 共学习 共进步

我的程序员之路

C++博客 - 梁兄 2009-11-03 09:00:57 浏览 6,564 次

      一位在校研究生朋友看了我的博客,建议我多写点,特别是怎样学习编程的。虽然没有什么价值,但记录一下,也感觉不是什么坏事。

      我大学的专业是基础数学,那种纯理论的数学,让很多人昏头转向的抽象。我自己其实也比较昏头转向,比如加罗瓦群、希尔伯特空间等,都是抽象中的抽象。

      数学毕竟是计算机的基础,我们数学系也开一些计算机课程。

      96年我们在DOS6.22上玩超级玛丽,FORTRAN课程让我现在只记得72这个东西。

      之后几年,学过c语言、pascal语言、选修dephi、还有早已记不清的一种数据库。

      操作系统从DOS6.22到win95,到win98。

      大学四年,学校是发机票上电脑室的,可是,直到毕业我还没用完这些机票----那时根本就讨厌计算机。

      总之,毕业后我基本上是个电脑盲。

      唯一让我后来有点用的是c语言,谭浩强的《c语言程序设计》这本书;因为这本书在后来让我走上了自学之路,那是在我及其无聊的时候,c语言编程赶走了我的寂寞,让我自得其乐。

      如果当时那本书在毕业的时候,以五毛钱一斤的价格,卖给收废品的,那今天我可能还在学校做老师,教数学呢。

      今天回头来看,在大学认真读书还是有必要的,因为中国人喜欢以起点论终点,加之中国人又多,一个岗位好多人竞争,所以名校比非名校有优势,成绩好比成绩差的有优势,虽然不是绝对的,但大多数情况还是这样。

      当然,大学没有学好,也不必在意,活到老、学到老,我们知道了自己的兴趣,意识到需要学习时,就认真学习自己需要的各种知识,也为时不晚。我也是后来自学的,智力相当的开发人群中,没感觉到比计算机科班出生的差多少;如果智商、情商、逆商相差很大,那自然有差距。

       教书生涯,两年不到。

       高等数学。

       小城市,清闲、无聊、寂寞。

       开始,教书与麻将占据生活全部,麻将打得太多,自己见了麻将就怕的地步。

       某天,一个学VB的老师,前来问我道,“梁兄,可曾在TurbC上写过小程序没有?”我说没有。他就正告我,“梁兄,还是学一点吧,c语言挺牛的,安装盘在这里。”我郑重地接过他那3.5英寸的A盘,跑到学校的电脑房,选了一台好机器安装起来。

       之后的日子里,我带着手头上唯一一本计算机书----谭浩强的<<C语言程序设计>>,从头到尾细细阅读,把所有的习题全部做了一篇,编程题是先在备课本上画好流程图,然后在纸上写出程序,因为电脑房的电脑是大家供用的,所以我得预先准备好,然后有机会使用电脑了,就抓紧时间调试程序。

       那种学习方法和过程,在今天是不可想象,然而,那段时间是最快乐的,可能是很多人不可理解的快乐。

       学完了这本书,做完了所有的习题,我感觉自己是个高手了。然后,就直接向校长辞职,投奔我在广州的同学,立志做一个程序员。

       今天看来,那段时间的学习,为我的C语言基本功打下一定的基础。然而,那时的我离真正的开发人员还太远,以至我找工作碰得头破血流,真可谓往事不堪回首,莫重来。

         早春二月下广州。

         天河区。

         N次面试,N+1次碰壁,因为有一次简直被一个年轻程序员羞辱,其打击力度算两次。

         没有实战经验、没有工作经验-------不同的公司,相同的拒绝理由。

         郁闷!

         悲愤!!

         没有工作经验就不能做程序员了吗?!

         痛定思痛,痛何如哉。

         一学VB老乡劝我:“梁兄,你还是学VB吧,VB容易学,容易找工作”;我断然拒绝,非学C++不可!

         同学把它公司的一个网关系统给我,VC++6.0开发的,那个时候很流行的开发平台。我闭门谢客,强行分析,从需求文档、到系统设计、到详细设计、到源代码、到单元测试案例,认真分析了一个月。

         其间,一次他们在傍边的电脑放A片,声音开得越来越大,我回过神来,只“啊”了一声,又回过头去埋头苦读代码。

         一月后,终于开关,大功告成。同时经过同学的精心包装,我俨然具有2年开发经验的C++程序员了,在VC++6.0\网络通讯方面是“精通”了。

         三月中,更新简历,再找工作,连中两家,选择其一,SP公司,在两千年前后做SP是比较好混的。

         回首往事,贵在坚持。

         工作经验有时也可以造出来的,问题不在于你的工作经验是否真实,而是你的能力是否和经验不相上下。

      小公司,一呆三年。

      刚开始,朦朦胧胧中开发,对各个基本技术点都把握不清楚,也对各个技术点充满了好奇。

      几个同学都是单身汉,合租在一个小区里,同学都是一毕业就进入软件公司的,已经有2年多工作经验。其中一个在大学四年时间里一直在学计算机编程,所以当时他技术已经很不错了。

      刚开始我还买了几本国内书:《精通VC++6.0》、《21天学会VC++6.0》等。技术最好的同学告诉我,不要再买这些国内教授的“精通”书了,一定要买国外那些大师级的人写的书,而且要多看几遍。

      这之后,我通读过《c程序设计语言》(经典K&C)、《程序设计实践》(K&R,经典的C方面编程实践

)、《c++程序设计语言》(C++之父Bjarne Stoustrup)、《深入浅出MFC》(侯捷)、《C++ Primer》(3rd)、《深度探索C++对象模型》、《编程珠玑》、《重构》等。这些书让我大概知道怎么写程序了,同时也为这些书着迷,有些还看了好几遍。

      记得当时每天下班回来,我主要做两件事:看这些书,另外就是把白天上班碰到的问题和看书碰到的问题,向技术最好的同学一个个问题请教,他也耐心地回答我的所有问题。这样的日子大概有半年,这段时间我的知识面得到很快的扩宽;半年后我基本上不用再问他了,就是有也是互相讨论了。

      所以,刚开始进入一个行业,如果有一个有经验的人指点一下,你将少走一些弯路,少辛苦摸索一些。我一直都很感激这位带我入行的同学,跟他讨论技术有一种发自内心的快乐。之后好几年时间里,我才碰到一个做java的同事,在技术上才有真正的共鸣;其它那些擦肩而过的同事们,要么他们做开发完全是为了生活、为了这个职位这个待遇,要么他们也真正有兴趣学点技术但不善于谈论技术,或者也可能我们谈不到一块去。

      三年之后,离开。

      因为当你看看周围的开发人员,没有一个技术超过你时,那种没有交流的寂寞,让你不得不离开。

      从现在看来,要想学点管理,也必须离开这种小公司。

        离开小公司,值得回忆,值得思考。

        上一节已经说过,我在第一家公司做就是三年,整整三年,真的是协议到期就离开的。在这家公司其实已经做到项目经理的位置,但我从来也没有心思去涉及管理,认为小公司没必要搞什么管理,我自己保持对公司的所用技术和所有业务最熟悉就好了。现在来看,当然是十分错误的。

        离开这小公司的理由,其实很简单:一是我要工资再涨1000;二是自己想去中型公司,最好能去大公司,去见见世面,长点见识。

        第一个要求跟老板就谈不好。老板当然不想我走,但也不愿意加这么多,刚开始只愿意按公司规定的5%比例加,后来看我态度强硬,就要我真正参与管理,过一段时间加。其实在第二个年头里,那时正是用人之际,公司两次给我提薪,一年不到涨了2000。但现在公司趋于稳定,业务也处于饱和状态,当然公司不会破常规的加薪了。搞笑的是,最后公司还是愿意妥协,不过那时我已经向大家宣布我要走了,当然不会再留了。

        其实能不能得到加薪,是一个很容易判断的事:当公司急需人才时,一个是业务快速做大,急需技术跟上;二个是公司人员变动很大,老员工一下子走光,需要你很快顶上来时;一般这两个时候,你可以大胆提加薪,会如愿以偿。而当公司趋于稳定时,不管大中型公司,还是小公司,老板都不会加多少的,一般会按制度来,按很小比例来加,很多还是几年一次的,所以少的可怜,还补不上物价上涨呢。

        刚毕业的、步入社会不久的学生,要理解这个道理,不要在该提加薪的时候跟老板客气,而在不该加薪的时候,却跟老板废话,最后搞不好自己走人。

        和我玩的很好的一个同事,技术水平也很高,他就曾经常提一句话:要大幅度加工资的唯一办法,就是跳槽!虽然不能说明全部情况,但大部分情况却是正确的。

        还有一个现象,就是小公司老板一般都自己在公司和大家一起上班,所以他知道谁在做事,做的怎样。所以你技术好,工作做的好,老板一般是看在眼里的,一般不会给那个偷懒的人待遇高,而给你待遇低;所谓小公司做事,大公司做人,也就是这个道理。但是,老板可能会口头上感激你,夸奖你,说你忠于公司、技术好、业绩好,目的是让你感激流涕,为他卖命,同时不要求太多待遇。

       千万别被这种口头的感激迷惑,老板不会跟你真正做朋友的;我们工作上能保证做好,却不要为老板累死累活的干,保持一个度是很重要的。在工作、学习、身体、家庭之间,寻求一个很好的平衡点,我个人感觉是很重要的。

       很多人一味寻求高技术水平,不停的工作啊学习新老技术啊,上班累到半死,下班还把大部分时间投入工作学习,把老婆小孩全冷落,其实是很糟糕的生活。

       其实你多看看,在一个公司里,技术好的牛的,不一定是待遇最好的;中国的软件公司现象,是技术+管理比较好走的。不要去看那些特例,特例是不适合大多数普通人的。

       题外话:

       写blog有什么意义?如果说仅仅是记录生活的话,可以放到自家的硬盘上,所以除了记录,另一个重要原因就是交流。如果我的经历能给后来者一点启示,当然是更好的了。

       很多人会说,你技术这么差,混得也不好,这经历经验有什么用。其实,厉害的人的经历经验反而对大多数平凡的人没有什么用处,比如打工皇帝唐竣,他说出他的经验和做法,你认为你能学么,你能够超越么。

       还有,经历可以作为经验,也可以作为教训。有时教训更重要。

      无奈的教训。

      工作经历上最糟糕的一年,连换五家公司。

      离开第一家公司时,毕竟才三年工作经验。管理方面自己不懂,技术面也不是很宽,无论是从开发还是从设计方面,那时都还是很嫩。离开这五家公司,各有各的原因,简单描述分析一下:

      (1)  4月第一周,开发电信主机监控管理的公司。其实我只上了3天班,虽然有分公司,也有那么多人,但根本没任何培训机制,老员工对新员工爱理不理,可气的是带我的人是和我同一所大学的,开始想师兄应该照顾我一下,哪里知道他连最最基本的培训和指导也没有给我,直接蛮狠的分配任务,让我自己看代码看文档,现在回想起来,他那C代码写的真的垃圾。记得我当时3天时间写完程序分发模块,就提出辞职不做了;他很惊奇我3天就做完了,而且还提出辞职不干了。

      值得佩服的是这家公司的老板,除了真诚挽留我以外,我当时说不要一分工资,他还是立即叫财务给我1000多块工资;按一般老板做法,员工自己只做三天就走的,而且又自己提出不要任何工资的,肯定一分钱不给了,所以我不得不佩服一下这个从美国硅谷回来的海归者。

      (2) 4月~6月,开发类似OA办公系统的公司。去这家公司简直是糊涂,公司办公地点是租广州电力的一个楼层,我以为它是隶属于广州电力,应该很有钱,所以也没有深问。进去后跟同事一聊天才发现,更糟糕的是公司开发软件从来没有卖出去过,只是自己和分公司办公使用,而公司主要收入是代理国外某品牌电脑,早期赚了很多钱,不过现在已经不行了。

      更搞笑的是他们叫我研究H323,来开发语音视频程序,作为这个系统的一个功能。一个人研究openH323系统,简直让我吐血,好在我在2周多时间里,在VC++6.0环境下对openH323进行断点调试分析,竟然做出一个DEMO来,还能支持3个人对讲,但随着人数增加,混音算法效果不好。

      工作一个多月后,发现这里死气沉沉,再呆下去肯定把自己废了。加上国内某知名大门户网站的广州分公司招人,我面试通过,当然自己走了。

      (3) 7月~8月,国内某知名大门户网站的广州分公司。原来分公司是刚并购了一家广州本地公司,加上分公司本身的一些员工,有一百多号人。因此这里部门有大娘生的和二娘生的之区别,这并购过来的部门当然是二娘生的,我刚好是工作在这二娘生的的部门,本想怎么说也在国内数一数二的门户网站呆下来了,好好做一下吧。哪里知道一个月之后,北京总部说裁人,自然先把我们这些刚来一个月的新人裁掉,项目经理还专门在会议室里开导,不是你技术问题,而是这里面人事关系问题。

      这么多年来都是只有我炒公司鱿鱼,公司挽留我的,就仅仅这一次被公司主动辞退了。虽然说这客观情况是公司大娘二娘之争斗而出现的,但自己没调查清楚就往里面去,被别人折腾也活该。

      (4) 8月~12月,做移动无线方面的公司。当时得到风投,也做门户网站,烧钱吧。也够我倒霉,我进的开发组,其组长比我还年轻,对管理一窍不通,更蛮狠地分配任务,跟你讲话的口气简直就是和仇人对战。记得我刚进去第三天,他对我说,“移动要我们做对账单,你做一个工具,我不管你用什么语言实现,反正明天下午你要做出来”,我当时那个气的,具体需求是什么,公司的数据库里的数据表是怎样的,都没交代,连找谁问都没交代就走了。对一个刚进三天的新人来说,如果做事不是很果断干练的话,两天时间连个需求都问不清楚,我当时是疯一般去找知道需求的业务部门的人,然后去找数据库表设计的人,开权限等等,很快理清需求之后,就用VC++6.0做了一个对账单自动生成工具,最后在规定的时间里完成了任务。

      最最可气的是,当我第二天下午做完了,告诉他时,他说不是很急!当然后来我自然不会尊敬这种人,所以之后的工作中摩擦不断。

      当然这个经历深刻教育了我,当我以后自己做技术主管时,从来不会以这种口气对我的同事,也不会这么分配工作。

      (5) 12月~第二年8月,一家小公司,做移动无线方面,答应给我每月收入的3%提成。一个是在上一家呆得很不好,另一个看重3%的提成,所以就去了。但是那个时候移动无线方面已经很不好做了,好不容易做到来年5月进了钱,记得有10几万,不过被老板左一算右一算,对我说一分没赚,我当时气的,水电房租需要这么多钱?当时说好了不算以前的成本,只除去当月的成本开销,现在他又反悔。一看这简直与虎谋皮,所以6月份就开始自己找工作了,终于七月底搞定新工作。

      总结:

      总之,频繁换工作对自己工作经历是十分不好的,因为没有人会听你细细分析你的真实原因,在你以后找工作时,公司会认为你这个人有问题。所以不要没有看准这家适合不适合自己,就急急忙忙走进去,发现不对劲了,又不得不离开,这样折腾自己不说,以后工作简历都不好写。

      当然,有时离开是迫于无奈,必须要走,但是,当你准备去一家公司时,你有慎重的机会啊,你有选择的权利和机会啊。

      还有,频繁地换公司,也学习不到什么东西,自己也很浮躁。

      作为一个平凡的小人物,你我都经不起折腾,切记,切记。

      学到东西最多的两年。

      能进去完全是我在第一家公司的老同事的大力推荐,我一直都是十分感激他的;而他在JAVA方面的技术修养,也是我很佩服的。

      在软件技术上,我一直佩服很多人,但那些人都是国内外的名人牛人,其实跟我这个小人物没什么关系的,那是粉丝跟超级明星的关系。而在我所有工作过的公司里,我所接触的技术人员当中,真的没有几个让我佩服的。倒不是我自傲,而是让我佩服总需要确切的理由,总需要一定的技术水平和技术修养,以及为人处事等方面的修养。

      让我十分欣慰的是,我在这家公司工作中,再也没有碰到以前5家公司的种种恶心行为。我感觉原因有两点:一是相对那些小公司的制度,这里的制度比较完善;二是这里的人员素质比较高,不管是开发人员还是测试人员。

      先说我们的部门经理,他已经不做任何具体的开发和测试工作了。他为人处事十分低调,他自己同时在广州经营着不错的公司,却从来不在我们面前显摆。平易近人,分配工作从来不会蛮横地命令式进行,而是有商量有讨论的,当然任务分配和工时安排,部门里是有规划的,通过大家共同讨论最后一起确定的,特别是中大型开发。

      我进这家公司时,已经有做技术管理的想法,所以一开始就带着学习的心态,随时注意这里的开发流程、测试流程、管理模式。正好,我们的部门经理在管理上,好好地给我上了一课,加之和上5家公司那些蹩脚的管理者两相对比,更让人体会到一个好的管理者应该怎么做。

      再说说部门里的老员工,没有一个欺生的,那种对新人不理不睬的现象至少在我所工作的两年时间里,我没有看到过。其实大部分老员工,工作时间都没有我长,年龄也没有我大,可是一部分老员工在技术水平和修养上,真的让我佩服和尊敬。正因为有那么一些比较高素质的同事,所以让自己更能静下心来做好工作,学些技术,学些开发和测试管理流程。

      记得CS游戏把我们拉得很近,特别是周五下班后,大家约在一起,先一起吃饭,然后回公司分成两组对战,那可能是很多同事感觉最快乐的一段时光。

      单身汉和家眷不在广州的,常常下班了一起去吃饭,边吃边聊各种技术和设计方案,聊社会新闻娱乐,也是氛围很好的一段时光。

      总之,在这里工作,不光是我年薪上了10万以上(那个时间在广州,仅仅做开发,就我个人水平,感觉不错了,也不知道广州是怎样的一个平均水平,也可能我的待遇很低),而且,我在开发流程、测试流程、技术管理都得到了很大的提高,这段时间我已经会主动去观察、去思考、去对比、去消化。正如很多人所知道的,这些东西是不能生搬硬套的,但是只要你灵活变通,取其精髓,大中型公司的成熟经验,同样可以很好的运用到中小公司的,当然平行级公司的互相借鉴就更有可能了。

      两年后,离开。

      其主要原因是我儿子快出生了,我而在另一个城市早已经买了房子,那里有亲戚,有很好的照料。而且当时一下子就找到一个工作,就是在现在的公司做开发总监,所以不如回到这个生活比较悠闲的城市来,对我这样的普通开发人员来说,生活压力就相对小一些。

      关于离开,请看《在AI的最后一个早晨》:http://www.cppblog.com/cool-liangbing/archive/2008/05/30/51548.html

      回汕头已经一年多,一直在现在这家公司做开发和技术管理工作。

      BOSS很年轻,人也算很不错的;在汕头这个软件业极其落后的地方,基本上99%的企业不是卖硬件、搞集成,就是做点小网站,在这种环境下,他还能集中精力做点软件产品,很难得了。

      回顾过去一年,工作上做的还是比较顺心,也取得了一定的效果。

      先是组建JAVA开发组。我去年刚来时,公司只有一个汕大刚毕业的JAVA程序员,普通话也说不好,汕头本地话也不会,理解同事和客户的话都成问题,可能是听普通话不怎么好吧。广州分公司也有一个JAVA程序员,技术不错,但山高皇帝远,只有BOSS一个人能管得了他,对其他人来说基本上是QQ不应、mail不回,电话让人不舒服,沟通极其差。

      我借着市政府一个项目,新招聘、培训几个JAVA程序员,经过半年时间的磨合,能力差、沟通差、懒散的辞退;分公司如果没有技术管理者,是不能有单独的开发人员存在的,建议BOSS辞退。现在JAVA开发组,沟通合作已经很不错了,做一些小项目,是不成问题的。

      接着,JAVA组稳定之后我就对C++组进行整改。C++组情况不一样,这里已经有几个老员工了,时间最长的做了4年,对公司系统很熟悉了。基本上这里的人都比较淳朴,人际关系不错,虽然部分人也有一些小聪明,但影响不大。C++组的主要问题是工作比较懒散,无组织无计划,虚报工时,上班做其它事情等。

      造成这种现象的原因主要是以前管理者留下的。我认为一个开发人员技术能力不强、理解能力不够等先天性方面,是开发人员自己的事;而开发人员无组织无纪律,消极怠工,虚报工时,上班做其它事情,完全是技术管理者的管理不善造成的,因为你管理的井井有条,他们就不会乱来,就算个别人还是乱来,你炒掉他换一个你想要的来不就解决了。

      物以类聚、人以群分,一个主管的性格和做事风格,其实决定了他管理的这个部门的做事风格。

      现在C++组总体来说,团队开发能力比以前强多了。消极怠工,虚报工时,上班做其它事情,已经很难发现了。我反复强调要沟通合作,互相帮助,反复强调代码要简洁、清晰、可读、可维护,并制定相应的开发规范,同时对一个开发完的小模块进行代码审查,包括脚本自动检查和人工检查,所以,大家现在在这些方面已经得到了很大改善,这些观点也慢慢被接受。

      最后,是我的测试组。测试组以前一直只有一个人,而且这个人不但要测试,还要做部分技术支持,后来还转业务;他测试就是测一下,从来不写任何测试案例,最多写份技术说明,因为公司要拿出去见客户的,由于以前开发也不写任何功能说明,所以我们的产品功能定义都是在他脑子里。----脑子里能记住几年的开发功能细节?!在上半年的新版本开发中,让我尝尽苦头,我的开发组对以往功能根本不熟悉,因为他们大部分人是后来的,个别老员工也只知道他负责的那一小部分,所以想看文档而没有什么有价值的文档。问测试吧,这个测试常常出去见客户,或者开会什么的(因为他转到市场去了,没责任没心思管测试)。想想看开发连需求都搞不清楚,怎么在上一版本上做的更好?只有看代码和运行老系统自己观察分析,这当然是要的,但直接这么来,需要浪费多少时间和精力。

      现在我的测试组,职责要专一,就是认真地做好测试,产出各种必要的文档,比如测试案例、技术说明文档。特别是测试案例,我要求他们详细测试,详细编写测试案例,这个基本上是借鉴我在上一家公司的测试组做法。同时,反复强调测试组和两个开发组做好沟通合作,大家都是年轻人,其实只要管理者强调了,很容易做得很好。

      汕头的软件人才极其缺乏,招聘一个在深圳、广州角度来看很一般的开发测试人员,在汕头这边是非常难,用“非常”二字,是因为我曾经半年时间都招不到一个勉强的人。因此,在汕头这样的大环境下,要建立一个小型的开发团队,注意是称得上是开发团队,是很难的,我正在努力中。

      如果问一年来,在技术管理过程中,我最能记得有那几点?那就是:

      1、反复强调沟通合作。提倡面对面沟通、及时沟通,三句话讲不清楚的,反对在QQ、MSN上说来说去。禁止绝对地按人分模块,然后大家互不相干,在开发小组内是不行的,因为这种做法阻止了沟通合作,互相帮助,互相分担工作。

      2、反复强调软件功能准确性、程序稳定性容错性、代码简洁、可读、可维护、可扩展性。这是老生常谈的东西,也是很难把握的东西,也是要一定时间以后才能看出效果的。重要的做法是,我自己亲自写代码,然后进行集中培训分析,随时抓住机会点评我的代码和他们的代码。身体力行是很必要的,其实有时就是三五分钟。

      3、坚持5天制,坚持不加班。汕头5天制的软件企业很少,多是5天半和6天制。我刚来公司时其实也是5天半,一段时间后才争取到现在这样,有时真的是要主管去争取、去说服BOSS。重要的是,我反复强调不加班,5:30下班走人,但一定要在白天8小时给我高效工作,至少要按我的工作安排完成任务!

      我一直认为,从长远地总体上来考虑,加班是不可取的,是对工作效率和积极性很不利的,是一个坏习惯。社会上常见一些主管以加班来衡量一个员工,我认为是极其错误的,不知道有经验高技术的老员工,在他眼里是什么地位。

      4、强调设计、强调文档。我亲自教他们怎么用PowerDesiger来画类图、部署图、时序图、活动图、状态图,并教他们在什么情况下适合使用什么图来表达设计。文档,特别是功能需求、总体设计,一定要有,不然到后来自己的这个系统是什么都搞不清楚。我也提倡敏捷,教他们怎么保证代码、设计、文档尽量保持一致。

建议继续学习

  1. oracle技术方面的路线 (阅读 4,602)
  2. 我这几年 (阅读 4,363)
  3. 我的担忧:dba如何在稳定环境中成长 (阅读 4,202)
  4. 我和Linux (阅读 4,081)
  5. 学习与成长的困惑 (阅读 4,083)
  6. 小技术团队的成长 (阅读 4,042)
  7. 技术同学在业务中的成长 (阅读 4,002)
  8. 大学生毕业了,程序员之路如何走 (阅读 3,763)
  9. 重要的和无所谓的 (阅读 3,420)
  10. 十年记忆 (阅读 3,361)