一 : 登高漫谈
喜欢登高,以健身为借口,究其实,或许猎奇之心更胜之。
家在匡庐之间,却是百里平川。小时候,俯仰之际,远处青山含黛,历历在目,却无从踏上一步。每日里,熟悉的是小河流水东去也,平林漠漠烟如织,油菜花黄了一地,棉花白了一季,稻子青了又黄,黄了又青,草籽花寂寞地染紫一野,一年一年皆如是。树是数不过来的密集,都在房前屋后傍立。树种却就那么几样:满是毛毛虫的杨树,除了春天会飞来几丛柳絮,让人有些许的关注,平时都视若无睹;苦梓树大人说没什么用处,小孩子却喜欢摘下苦梓来玩,那可是打仗的武器哦;皮树夏天会挂满红红的果子,据说有点甜。金蛾虫最喜欢的是喝皮树汁,小孩子最喜欢的是围着皮树捉金蛾虫;桑树可好了,春天摘下桑叶可以换钱买板糖吃,夏天紫红的桑椹那可是最美味的果实了。村子里就这几样树了,学校的树木倒是多一点,以至于学校夏天那开着蜜桃香味丝状花絮的合欢树,三十多年后我才知道树名;油朴树长在学校的围墙边,算是各种树中最高大的;法国梧桐又高又大,树皮剥落后白一块黑一块的,倒也有趣;椿树也有几棵,春天里一嘟噜一嘟噜的白花,香香的,还可以做菜吃。离村子较远的地方,是农科所,那里倒有几棵更不寻常的树,银杏树孤独地长在地头上,风一吹过,叶子如蝶起舞飞扬,秋来银杏变成金杏了,这银杏树方园几十里才这么一棵,所以从来没看到大树结过果。玻璃房后面开白花的是梨树,开红花的是桃树,秋天挂着灯笼果的是柿子树,不等柿子黄了,早就被我们小孩子摘下来放在米糠里等着几天后变黄了再享口福的。要说平原最是富足,可惜的是所有的季节都是一眼望穿。远处青峰隐隐,坐在门槛上的我常常发呆,青峰上有什么?青峰外是什么?青峰怎么上?青峰有多远?带着这些个问题,三十年后,当我第一次登上庐山,答案是有了,却永远也答不完。
喜欢登高,却并不知道登高是有来由的。醉看风帽落,舞爱月留人。这个落帽就是登高之来由。东晋中期,孟嘉是恒温的参军,有一次,恒温等人一起登高,大风起处,孟嘉的帽子被吹落而不自知,恒将军示意周边的人不要告诉他,直到孟嘉要如厕时才发觉自己的帽子没了,恒温这才派人把帽子送给他,却又让从人写文章讥笑此事,并把文章给孟嘉自己观阅,本以为孟嘉会因此恼怒,没想到,孟嘉也提笔著文,一时文惊四座,态动八方。后人即以此次登高孟嘉落帽来颂扬君子的气度。又有一说,登高最初的来历,既非我等之健身,也不是念天地之悠悠,独怆然而悌下的悲秋,而是避祸之缘起。河南安阳人恒景跟随费长房游学,费老师掐指一算,恒景重阳日或有大难。恒景惶恐不安,终得费老师指点,登高持茱萸可避祸。果然,重阳日,恒景携家人带黄酒登高山赏秋菊,痛痛快快在山上玩了一天,举家既健且乐,祸自擦身而去,从此后,恒景爱上了登高,后人也爱上登高。
古人登高不象我等,不分季节,不论阴晴,是有选择的。秋天是古人登高的旺季,这个原因其实户外人都知晓一二。不仅是因为秋天的山野色彩缤纷,浓妆艳抹。更是因为秋后,虫蛇隐匿,比较安全;也是因为落叶之后,障目之物较少,天高地更远,长空落日圆,美景洗心头,壮怀满胸间。凡人登高也罢,文人总是登高必赋。何处合成愁,离人心上秋。所以登高怀远之外,多有悲秋之辞,这与古代的职场古代的征战多有关联,诸多怀才不遇之士、诸多愁情困战之人,每登高山,总有离情别恨,悲世悯秋之作,其中经典不泛一二。于佑任先生晚年曾诗:葬我于高山之上兮,望我故乡。故乡不可见兮,永不能忘。抑或这才是登高望远之情劫。
最近两年,登山运动渐成热态。倒不是说落寞的人太多,不过换心情的估计大有人在。登山莫看景,看景莫登山,这是大有道理的。登山可不等于漫步,随心所欲是不行的,得专注。人之专注,便有忘却。所以山行中,眼里有风景,有红花,有绿叶,有山路,有清涧,有小桥,有众山小,而独没有学习之苦闷,没有工作之烦琐,没有交际之纠结,没有上下之拘谨,没有家庭之吵闹。抬腿间,迈出去的是勇气,歇脚处,看得到的是风景,回首时,看不见的是骄傲,看得见的是悠然。仰首苍穹,浮云掠过醉人的兰天,俯首山谷,流泉跃向看不到的远方,远眺平川,炊烟之处是曾经的故乡。人间最难是相忘,登高却可以让你轻松做到,这莫不是越来越多的人喜欢登山的原因?
可别轻易就这样登高了。古人喜欢携酒呼朋唤友同游共赏,呼朋唤友是必须的,登高团体活动最好,一个人登高,孤独也就罢了,安全才最重要。山里总有出其不意的存在,一个人独行着实不行。但虽然朋跟友随,也未必安全,最重要的,你得为自己的安全准备充分的保障,而且是必须亲力亲为的,旁人不可替代。因为在户外,每个人都是平等的,每个生命也都是平等的,你分享了别人的成果,就可能影响别人的安全,所以登山有五不借之说。那就得自己背着行囊登高了。短途的山行,两三瓶水是必要的,牛肉、饼干等零食也应是有的,再有力气的话,带几个水果就更好了,要是带上一闷烧壶的粥,就更让人眼馋了。这样下来,身上背个上十斤是少不了的。可别吓着了,登高虽然很累,背上行囊岂不更累!那是当然的。不过,这些东西会在渐登渐高的山路上,一点点的消耗,一点点的减少,就象把压在心头的郁闷一点点的抛弃,一点点的洒落,到最后,登到山顶,行囊已近乎空空,而郁闷也一扫而空,只有无限的自豪涌在心头。( 文章阅读网:www.61k.com )
和找工作不同,登高不分性别,不论文凭,不看职称,甚至不纠结于身心的残缺。虽然是团体,但不可能会过份依赖于团体,所以如果你登,你就得登,也必须登。但是如果你偏离了团队规划的路线,那就是最为严重的违纪,也是最不安全的背弃,会受到团队所有人的批评。这么苛刻的行进,还有乐趣存在么?出其不意的柳暗花明,是登高的兴奋点之一;登高望远,振臂高喊也是兴奋点之一;沿途的嬉笑怒骂,也是兴奋点之一;见所未见,也是兴奋点之一;攀高越险,也是兴奋点之一;留影自拍,更是让人兴奋……...。太多的乐趣,太多的快意,足以让你忘却行进的疲惫,足以让你忽略太多的规矩,毕竟,所有的规矩都是为了有一个安全快乐的一次出行。
前不见古人,后可见来者,这就是登高。让你挑战,让你回味,让你劳累,让你快乐,让你成熟,让你健康,让你遗忘,让你收获,这或许是让你迷离在山野中的理由。而我,于此甚好。
二 : 漫谈重构
因为工作内容的原因,我在前后两家公司中的工作中主持和经历了十余次代码和架构的重构,下面随便说说我对重构的一些经验和想法。
关于重构
首先重构面临的背景都是相似的,程序员们为了快速完成需求和上线而写出了最基本的代码,而在功能的不断扩充过程中,以打补丁的方式对代码进行扩充,中间还会面临着开发人员的变更和离职。逐渐的,代码就会越来越臃肿,渐渐的变得难以维护。
糟糕的架构会有什么样的影响?首先是开发效率的降低,在糟糕架构下加进新功能,会受之前代码的影响,可能存在意想不到的改动点和问题点,开发和调试时间都会大大增加;其次是故障率的提升,在质量低下的代码中,总是容易藏着很多不易发现的坑,这些都会成为故障的隐患;同时,架构也会使得需求的完成大打折扣,使得设计好的目标,因为架构限制或者性能等原因,只能完成80%甚至更低。
重构要解决的问题
重构不能凭空重构,一定是要解决一个问题,一般情况下重构要解决的问题大致有以下几种。
重构经验感受
重构时,第一道难关是如何过领导这道关。很多领导都要背着产品指标和任务,大多人也更关心其能够在多长时间做出什么,重构这种事情,在很多时候,有可能是“费力不讨好”的代名词,因为在大多情况,无法帮助领导完成指标。这种情况下,如何获得领导的支持就极其重要了。
对于重构,一种方法是,让重构与某些技术或产品指标挂钩,例如完成新产品、改进效果、提高性能等,相当于是重构伴随着其他改进搭帮上线,那么这种情况可以比较顺利的完成重构。
而如果单纯的为了架构的合理性而去重构的话,就需要去说服领导,为什么原来的架构会降低开发效率,新做的架构能带来哪方面的提升。一定要让领导明白,这个能带来实实在在的长期收益,不管性能、效率、安全等都可以,而并非只是“看着不爽”而进行的重构。
如果团队规模有一定的人的话,也可以分出一部分进行新型架构的开发,而另一部分人在现有架构上进行改进,使得短期目标和长期目标两不耽误。这时候,值得注意的就是,不管从代码还是设计角度上来看,都要让现有做的事情能够复用,而不是新架构上线之后就会被废掉。
如何进行渐进式重构,也是很多架构师需要去思考的问题。就是不搞一下子半年一年的重构,而是以月为单位,快速的迭代,能够很快的看到效果,并且小规模投入使用。
不管怎样,重构,一定不能是为了重构而重构,或者对前人的代码看着不爽,或者抱有技术完美主义而进行重构,最重要是找准其要解决的实际问题,这时候的重构,能带来的是开发效率上的提升。
而在重构的过程中,也需要做好新架构的设计,并且拥有一定的前瞻性,否则很容易出现新架构、新新架构、新新新架构这样子的事情。另外,也要尽可能的增强代码的复用性,让其中的模块,在任何一个架构中都能够很好的被应用,当然这个要根据具体情况具体分析。
对于重构,也尽量不要拥有技术完美主义。很多时候,使用最成熟的方案及最简单的架构模型实现所需要的功能一般来说更加“简单可依赖”,有的时候架构过于复杂反而喧宾夺主,因为所有架构都是为了功能服务的。同时,也尽量不要使用很多未经广泛使用的前沿技术,因为这些在开发和部署过程中,很多都可能会遇到意想不到的问题,延缓开发速度并影响线上效果。
此外,作为重构时的负责人,一定要紧跟代码开发的过程,并随时进行指导,一般情况下,不要相信写出糟糕代码的人,经过略加指导就能写出漂亮代码了。我曾经有过这样的经历,要将一个超大的类按照功能进行模块化拆分,设计好了架构及每个子模块就让组员进行开发。开发完了我看代码时登时就抓狂了,模块是拆分了,每个功能也都建立好了子类,并通过主类调用子类,但是每个子类又都将主类作为友元,又去调用主类里面的成员变量和函数。这种代码,再次重构也是难免的,这个给我的经验教训就是,重构的工作一定要做细,迭代中的代码检查也是必不可少的。
良好的习惯,从最初做起
当然,重构再怎么样,也是一种推翻重做,耽误时间的做法。从我的经验来看,其实大多数的重构都是可以避免的,这需要从以下几个方面去提高。
良好的编码风格,好的习惯往往很难是天然形成的,更多是在工作中不断的老带新中耳濡目染练出来的。很多领导希望员工全部时间都用来做项目,不断地去压更多的活,实际上是在用跑短跑的方式跑长跑,很容易出现后劲不足的情况。而我在微软的经历,也让自己感受到了从潮手到逐渐成熟的过程,后来在搜狗时即使再忙没法搞teamreview,我也会去尽量给每个组员检查他们的代码,帮助别人去提高。
初期的架构设计,这个也是非常重要的。架构设计能不能一次到位,这个不太好说。但是相信好的架构,一定比粗糙的设计能够坚持更长得多的时间。并且好架构可以考虑到未来可能扩充的规模和功能,为未来的发展留好接口。同时在其中所有的模块都非常有序,即使大的框架要修改的话,也只是搭一个架子,原有的子功能和子模块都能够被很好的复用,
其实很多时候,代码并非要开发一阵就重构一次,而写出好的架构,也并非是那么难。更重要的是,需要的是不断的提高程序员的自我修养,不仅仅是能力上的,还有态度上的。不要只想最初开发时省事,而不考虑若干时间后的事情。好的架构,对未来的开发以及发展,可以说是真真实实的“事半功倍”。
最后,我们看一个关于扁鹊的故事:
魏文王曾求教于名医扁鹊:“你们家兄弟三人,都精于医术,谁是医术最好的呢?”扁鹊:“大哥最好,二哥差些,我是三人中最差的一个。” 魏王不解地说:“请你介绍的详细些。”
扁鹊解释说:“大哥治病,是在病情发作之前,那时候病人自己还不觉得有病,但大哥就下药铲除了病根,使他的医术难以被人认可,所以没有名气,只是在我们家中被推崇备至。我的二哥治病,是在病初起之时,症状尚不十分明显,病人也没有觉得痛苦,二哥就能药到病除,使乡里人都认为二哥只是治小病很灵。我治病,都是在病情十分严重之时,病人痛苦万分,病人家属心急如焚。此时,他们看到我在经脉上穿刺,用针放血,或在患处敷以毒药以毒攻毒,或动大手术直指病灶,使重病人病情得到缓解或很快治愈,所以我名闻天下。”
扁鹊实际上就是一个很好的重构高手,但是扁鹊的大哥,就是因为能够将问题看在前面,处理在前面,所以能够永葆健康,这更是高手中的高手!
=========================================
三 : 漫谈“酒”
传说有一天,上八仙张果老与吕洞滨在一起聊天,谈起“酒、色、财、气”,这个话题,张果老说:“酒色财气”是世间四大祸根。酒是穿肠毒药;色是刮骨的钢刀;财是惹祸的根苗;气是无烟的火炮。吕洞滨正颜悦色说:张果老此言差矣,无酒不成礼仪;无色不能传宗接代;无财何以安邦;无气难成大业。通过二位上仙的对话,不难看出,酒既有好的作用,也有坏的作用。自古至今赞美酒的诗句也不少,从杜康酒醉九伶,到李白斗酒诗百篇;从曹孟德《短歌行》中发出的“对酒当歌,人生几何”的感叹,到苏轼《江城子•密州出猎》词中“酒酣胸胆尚开张,鬓微霜,又何妨”。都对酒赞美有加。
按理说,酒是个好东西,他既以甘洌醇香给人以快乐,还可以助兴赠友谊,是人际交往中不可缺少的使者,试想,世上如果没有酒,人们将会少多少相聚的机会,就是聚在一起,如果没有酒这个东西在其中滋润氛围,将会是怎么样的尴尬。但是当我几次醉酒后,对酒慢慢产生出许多恐惧,以至于到了见酒色变的“恐酒症”。可是时世如此,不管怎么样,你还必须知难而上。
前几天参加了朋友的酒宴,到场的几位都是豪饮之士,极力推崇“宁伤身体,不伤感情”。先是主人敬酒:“我是小弟你是哥,这杯水酒必须喝。”后是客人互相敬酒:“借花献佛我来劝,至少你得喝一半。”他们劝起酒来口齿之伶俐,头脑之灵活,往往是谦卑与骄横并用,怀柔与要挟并举,将攻心策略运用的出神入化。在这种情况下,还由得你自己吗?那天也不知哪来的那么大豪爽和勇气,接二连三地与朋友碰杯,开始感觉又辣又苦,后来感到头重脚轻,再后来感到胃里十分难受,再后来就是全然不知了。那次得到朋友的大加赞赏,说我喝酒特爽快,够意思,当然也是吐得一塌糊涂。
经过那次酒精考验后,在酒场上是再也不敢放肆了,面对大兵压境之时,便用“只要哥们感情好,能喝多少喝多少”来进行低档。实在不行就用身体不适为由来推辞,反正主意已定:就是不喝!
我也劝君一句“逢着知己少饮酒,感情有喝啥都是酒”,要向外国人学习,从不劝酒,各尽所能,以喝的舒服惬意为目的。
本文标题:漫谈-登高漫谈61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1