随笔意识流——函数封装

来源:互联网 发布:克莱汤普森数据 编辑:程序博客网 时间:2024/05/16 08:00

-思绪来源:我在写算法的时候,一直不愿意调用除了基础函数以外的其他功能函数,特别是有些函数里面就一句代码,有个毛线的封装必要哦(例子:数据结构单链表,添加删除肯定属于基本逻辑操作,但你tm顺序表的长度有个鬼的封装哦,顺序表诶,四舍五入等于数组诶,求个长度你还封装,哇,一句代码的事情诶,有没有搞错(我就举一个小例子啊

-我愿意改变,但有谁能告诉我原因是什么好吗,跪求啊

-真的是感悟,都快上升到哲学问题了....写的就是一种感觉

-意识流


我有认真思考过“应该如何去编程”,但是在学习的过程中我却只能读到一系列指示,“像这样命名变量(大小驼峰法、匈牙利命名法、下划线法),像这样组织代码(结构化,流程化),像这样封装函数(高内聚低耦合)等等等等”。

是,在某些的情形下,这些都是不错的做法。但这样做的理由是什么?

大家写代码都有自己的习惯偏好对吧?那这些做法在什么样的上下代码中才能成为“通法”?命名方面有哪些约束?缩写命名的效果并不好,但很长的名字效果也不好,该如何选择?当然也不能用一套abcdefjhijklmn打遍天下无敌手啊...那该如何抉择呢?

其实,我在课本中从来没有看见过这些答案。

但我有思索过,有考虑过,也有纠结过,但有时我得出的结论明显并没我想象中的好(我一个人脑子有限嘛,况且也不是人人都像这样纠结,我也有用谷歌百度搜索啊,但往往答案...就是没我想象中的好嘛,还是要自己结合着想啊)比如,命名,写程序一定会有命名对吧。命名,用简单的名字描述出变量在计算中承担的角色。对,这样没错,有些人看到就直接拿来用,不会想去为什么,这当然不会体会到命名规则其中的奥妙与考量。那我呢?明显就很纠结啊(当然不是纠结这个例子啊)

我纠结啥?再来,比如,把输入流输出流存入文件(dat/txt)。我同学呢,直接照着例子写啊,反正能用就是了吧,这简直和代码界的搬运工没区别啊(复制粘贴啊...)。我呢,跟个强迫症似的(我真不是),没弄懂原理,就是死活也不想写,不然复制粘贴完这段代码我良心过意不去啊....

啊,这种情况对我来说很常见呢。我想着,知其然还要知其所以然,就这样深究下去了。没错,迟早会上升到哲学问题——“如何编程”啊?

这种哲学问题真的很容易泛泛而谈,即使大家给出了许多规则,但看到规则的大多数菜鸟,他们(包括我)不知道规则背后隐藏着什么样的思索,也不知道什么时候该打破规则,突破束缚。这就很扎心了......

我意识到了代码可读性的可贵,也知道要写出高质量的代码势必要付出很多心血,融合自己与他人的代码风格总是有许多深思熟虑的。

我想说的是:优秀的代码,绝非仅仅是功能的堆砌,它需要有可能性。但这种代码不会自然产生,而是由数十个数百个看似琐碎,实则无比重要的决定,堆砌出来的。

哎呀,有时候纠结上来了,我根本写不下去代码嘛......我需要指点,我需要安慰,不准怼我!(经不起骂)哎哟喂.....什么个事儿啊,我为什么要纠结这个啊(我写不下去啊,我想写优秀的代码啊,啊啊啊....

最后,祝大家都能写出好代码,嗯