接触代码四年有感
写在前面
这两日,白天做实验(朝九晚五),剩下的时间(即晚上)写代码。主要目的是在近期将设想了可能超过一年的一些东西尽快实现,以减少思想负担。大脑的容量总是有限的,需要更多空间用于,对生物学问题的思考。
鼓捣了两天多,基本上只剩下一个想法确实下不了决心去实现,因为感觉设计逻辑上,自己都不觉得优秀。
附上TBtools近日更新
已经实现了....一些可以做很多诡异事情的图片。
比如,可以在 HeatMap工具上生成一张热图,随后在Gene Viewer中生成基因结构图,并直接在讲HeatMap工具中的热图,复制黏贴到Gene Vierwer,
同时,保留了两个图片的可交互性(当然,会丢失一小部分可交互性,毕竟这是序列化无法避免的)。
关于编程或者写代码这些事情
就我的认知范围内(一些pipeline-maker以及一些天天喊着给别人培训编程的,传授编程经验的),其实没有三五人是知道自己写的代码如何丑陋。当然这本身不是问题,毕竟可以拿出一个不错的名言名句来回应别人的所有看不上,亦:
黑猫白猫,能抓老鼠的就是好猫。
总的来说,或许有这么一批人,无论如何确实存在可能对一些生物背景的朋友了解写代码这个事情来说,还是有很大的益处。所以,我还是在比较支持别人这么去干,毕竟都是有买有卖的事情。
我个人的一些感悟
接触生信可能都快四年了,那么写代码也写了快四年。我自己很清楚,自己的代码如何丑陋,所以似乎也评价不了别人的代码或者所谓编程能力,更或者思维。
不过我觉得有一个很有趣的东西可以分享一下,亦即我个人写代码的感觉变化:
第一阶段,写不动,写一个表格文件读取遍历和提取很困难,或者提取fasta序列的脚本差点写一个通宵
第二阶段,写得出来,大部分日常的文本处理,还是能写出来,花的时间也不会太多
第三阶段,写得很快,越写越快,几乎只要看到问题就可以很快地写脚本,当然,更多时候只是写一个简单的命令,毕竟我个人习惯用perl-oneliner
第四阶段,写得很慢,开始意识到,自己写得大多数代码,其实都是垃圾,或者不够稳健,或者性能低下,于是开始考虑相关问题,补充一些计算机相关知识,当然也包括数据结构的学习
第五阶段,不敢写,这个可能是目前所处阶段或者可能马上就要度过。遇到一个功能的实现,会考虑很多方面,包括性能,稳健,友好,灵活,高内聚低耦合....于是越想越多,越是无法下手。所以有时候一些设计可能经过一年都无法鼓起勇气下手。
第六阶段,写了再说,我也不知道现在算不算回到这个状态,类似第一阶段,只是多了一些选择,而不是在寻找一个选择。
写在后面
最近也看着一些朋友这两三年在高校的发展,或者是毕业生对单位或高校的选择,没有太多想法。毕竟是好是坏,只有自己知道。
或许,每一个奋斗的最后,都只是为了有更多的选择,而不是为了一个选择。毕竟,后者过分简单