乐趣区

关于code:怎么写好代码

论述

这个题目看起来十分具体,局限思维之后,就是一个从事 IT 行业的人士编码人员思考的问题,进一步讲,看到这个题目的开发者会再次把本人限度在本身的编程畛域,编程语言外部,比方如何写好 java,如何写好 javascript,等等。

大多数人必定是这个反馈,为什么?因为想法的涌现是基于脑子里的常识激发进去的,我只能想到我脑子里曾经有的货色,简略说就是你的认知决定了你的所见。

那再认真想想,这个问题往大了讲会怎么?相似于这样的问题模式是不是有很多?
怎么做好投资?怎样才能进步学习成绩?等等再往上升就会变成一个哲学问题。

扯远了,简略来说,这个问题是 你的认知程度在具体世界的出现问题。

标准答案

这个题目去网上搜寻是有标准答案的,很多文章会通知你如何写出 简略、易懂、高效的代码,比方:

  • 对立编码标准(代码格调,架构等)
  • 高内聚、低耦合(各种设计模式)
  • 组件化、模块化 (各种分层技术)
    相似的文章有一大堆,看的时候如痴如醉,热血沸腾,感觉受益匪浅。那到底有用吗,有用也没用,有的人有用,有的人没用。
    没用的人在理论工作的时候,会感觉纳闷,代码还是判若两人的凌乱,为什么?
    如同看懂了很多,可到底为什么用不上?

答案非常简单,这些知识点还并不属于你,你只是看到了而已,并没有理解消化转成你的认知。

代码很切实啊,不会骗人,它就是你真是认知能力程度的体现。

像王者光荣,一个英雄就 3 个技能,技能形容几十个字,大家都能看懂。可是这个每个人的“懂”是一样的吗?为什么有的人秀的飞起,带飞全场,你却只能冲上去送死呢?有想过为什么吗?

你看主播打的风生水起,你感觉你也能够,下场实操,被人一顿虐,你感觉你的队友不配合你,你感觉王者匹配机制有问题,是,可能存在这样的问题,可是大家生存的环境不是一样的吗?

大家说要无意识,要看小地图。这个意识是什么,是对英雄机制,技能机制,配备机制,游戏机制,环境等全方位的了解,领悟。脑子里没有相干数据,判断不出攻击力,防御力,只晓得看小地图有什么用。

说那么多,只想阐明一点,很多事物的样子是集体认知程度的体现。

你说一个人不违心把代码写好吗?并不是,然而他只能写出这样的代码。你讲设计模式,讲内聚耦合,不领悟就不是你的,只不过记住了几个名词而已。

上面讲的也是,懂得就能懂。

说点理论的

说点技术相干,我尽量不整一些简单概念术语,能把货色讲白了才行。

架构设计

架构设计这个词就很“术语”,咱们这里以偏概全,简略说,就是要分层。
分层比拟好了解,很多畛域都会用,比方电子生产工厂的流水线,从上游到上游宰割成好几段,每个区间段,也就是每条线只做一件事,比方喷漆的只做喷漆,拧螺丝的只拧螺丝。
益处不言而喻,关注点拆散,职责繁多。

这个时候,如果有一个人来参观工厂,这个人并不知道你们在生产什么产品,然而他仍然晓得,这条线在喷漆,那条线在拧螺丝,对吧,十分清晰。

Vue 和 React 的组件化思维都是基于这个,每个组件就是一个小节点,而后进行聚合成大组件,最终结构组件树,概念非常简单。

至于是从上到下设计,还是自下向上设计,这个具体情况具体看待,这个问题也非常复杂,有一大堆文章介绍。

中间件机制

中间件的概念比拟常见,到处都在利用,简略说就是在输出到输入之间,做一系列解决。
比方 redux 提供的中间件机制,比方 express 的中间件,比方 webpack 的 loader 加载器或者插件机制等

下面哪个流水线工厂仍然也听从这个模式,喷漆就是其中的一个中间件,就是一道两头工序麽。

通信机制

之前通信大部分都是通过 公布订阅模式实现的,全局通用,实用所有简单场景。
在 Vue 和 React 的 UI 模式组件中,附加一种 从上到下的 props 流式传递。
还有一些状态机形式,实质上都大同小异,都是信息生产者 和 消费者之间的关联。

谬误捕捉机制

下面提到了分层化,组件化,中间件等机制,所以每一个节点做好本身的谬误捕捉解决,避免谬误向上传递,以致整个零碎解体

编不上来了。。。当前再编吧

这篇原本也不是讲技术的,只是阐明一个通俗的情理,意识决定了世界的样子。

退出移动版