1. Model is everything

  models are  the heart of your app. If you have models separated from th rest of your application, maintaince will be much easier,regradless of how complicated your application becomes. Even for complicated applications, good model implementation can result in extremely expressive code.And to achieve that, start by making sure that your models do only what they meat to do ,and don't concern thenselves with what the app built around it does. Furthermore, it doesn't concern itself with what the underlying data storage layer is:does your app rely on an SQl database,or dose it store everything in text files.

  As we continue this article, you will realize how great code is a lot about separatiuon of concern.

  数据模型是一个应用的心脏,当数据模型与应用的其它模块分离开来的时候,应用的可维护性将变得容易。一个应用的数据模型应该保持单一职责原则,不应该考虑建立的数据模型上的其它模块,同时也不应该关注数据是如何存储的。 (MVC)

  整洁的代码

  1.Clean code is a consistent style of programming that makes your code easier to write,read ,and maintain.

  2.Clean code is DRY (don't repeat yourself)

  3.Clean code is predictable and testable

  4.Clean code is self-commenting

  5.Naming things

    1.Boolean variables,or functions that return a boolean value, should start with "is","has","should"

    2.Functions should be named for what they do,not how they do it.In other words ,don't expose details of the implementation in the name

  6.Clean code follows proven design patterns and best practices

    1.Use samll fuctions,each with a single responsibility.Ensure that each function does one job and does it well . that also will lead to better testability.

    2.Be on the lookout for leaky abstractions. In onther words, don't impose your internal requirements on consumers of your code.

    3.Follow stric linting rules. This will help you write clean , consistent code.

  7.Separate stateful aspects from rendering

    Mixing your stateful data-loading logic with your rendering (or resentation) logic can lead to component complexity. Instead, write a stateful container component whose single responsibility is to load the data. Then write another component whose sole responsibility is to display the data. This is called the container pattern. Stateless functional component, the results are predictable.

  8.Use stateless function components

    Through optimization of React's core,it posible to use far less memory as no instance is created.

  9. Object destructing

    componentWillReceiveProps(newProps){

       this.setSate({active:newProps.active})

      }

    componentWillReceiveProps({active}){

      this.setState({active})
      }

React整洁的代码的一些原则的更多相关文章

  1. 代码整洁 vs 代码肮脏

    写出整洁的代码,是每个程序员的追求.<clean code>指出,要想写出好的代码,首先得知道什么是肮脏代码.什么是整洁代码:然后通过大量的刻意练习,才能真正写出整洁的代码. WTF/mi ...

  2. 通过利用immutability的能力编写更安全和更整洁的代码

    通过利用immutability的能力编写更安全和更整洁的代码 原文:Write safer and cleaner code by leveraging the power of "Imm ...

  3. 王家林系列之scala--第69讲:Scala并发编程react、loop代码实战详解

    刚才看了一下,群里王家林老师又更新课程了,真为王老师的勤奋感到佩服,于是迫不及待的下载下来观看学习.本期讲的是关于scala并发编程的react.loop代码实战. 信息来源于 DT大数据梦工厂微信公 ...

  4. 高效整洁CSS代码原则(上)

    CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则: 1. 使用Reset但并非全局Re ...

  5. 高效整洁CSS代码原则 (下)

    6. 适当的代码注释 代码注释可以让别人更容易读懂你的代码,且合理的组织代码注释,可使得结构更加清晰.你可以选择做的样式表的开始添加目录: /*---------------------------- ...

  6. 代码重构方向原则指导(转载 cnblogs)

    英文原文:Hill Climbing (Wonkish)   重构是一种对软件进行修改的行为,但它并不改变软件的功能特征,而是通过让软件程序更清晰,更简洁和更条理来改进软件的质量.代码重构之于软件,相 ...

  7. Scala并发编程react、loop代码实战具体解释

    演示样例代码及凝视: //scala并发编程中的react和loop,共同特点: //通过线程存用的方式让性能有所提升. //Actor本身的运行,被actor子系统管理的时候,会有一个或者多个远程的 ...

  8. 【React】在React中 JSX 代码如何转成 JS 代码?

    一.介绍 写 React 代码的朋友应该都是直接写 JSX 代码,JSX 让我们可以在 JS 中直接写 HTML 代码,可阅读性较高.本章节主要介绍 JSX 通过 babel 转换后会生成什么样式代码 ...

  9. webstorm编写react native,代码修改后,重新编译运行没有变化的问题

    w我是拷贝一份react native代码到另一台电脑,发现修改代码运行之后不显示修改后的效果,即仍然与原来的效果一样,暂时不知道什么原因, 后来我运行了npm install 就可以了,不知道是不是 ...

  10. react native 示例代码

    https://react.rocks/tag/ReactNative?show=60 https://github.com/ReactNativeNews/React-Native-Apps

随机推荐

  1. Java中保留两位小数之format

    String.format仅限double类型可用 int类型会报错 double d1 = 6.6666;System.out.println(String.format("%.2f&qu ...

  2. 微积分 I 笔记

    1.1 集合 这一节复习了高中关于集合的基础知识 介绍了一些新的概念 笛卡尔积 (Cartesian Product) 集合 \(X\) 与 \(Y\) 的笛卡尔积 (直积) \(X \times Y ...

  3. shell语法6-exit命令、文件重定向、引入外部脚本

    一.exit命令 exit命令用来退出当前shell进程,并返回一个退出状态:使用$?可以接收这个退出状态.exit命令可以接受一个整数值作为参数,代表退出状态.如果不指定,默认状态值是 0.exit ...

  4. Back Propagation - Python实现

    算法特征①. 统一看待线性运算与非线性运算; ②. 确定求导变量loss影响链路; ③. loss影响链路梯度逐级反向传播. 算法推导Part Ⅰ以如下简单正向传播链为例, 引入线性运算与非线性运算符 ...

  5. 51电子-STC89C51开发板:程序烧录(刷写) 到 IC 设置

    全部内容,请点击: 51电子-STC89C51开发板:<目录> ---------------------------  正文开始  --------------------------- ...

  6. ptyhon基础课程_4

    16 循环语句 1.while 语句的格式:"while 条件 :" while True : #循环输出"你好,世界" print ("你好,世界& ...

  7. springboot启动报错 Failed to scan *****/derbyLocale_ja_JP.jar from classloader hierarchy

    springboot启动报错 Failed to scan *****/derbyLocale_ja_JP.jar from classloader hierarchy   这两天自己在玩虚拟机,想把 ...

  8. windows terminal用ssh连接已重装的服务器提示REMOTE HOST IDENTIFICATION HAS CHANGED!

    连接过程提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFIC ...

  9. JVM系列(四):GC策略

    一.概念 GC,Garbage Collection垃圾回收,主要针对JVM中的堆和方法区,而JVM栈.本地方法栈,程序计数器都是线程私有的,跟随线程生命周期. 二.对象存活判断 1. 引用计数:每个 ...

  10. hyperfine spectra

    !Hyperfine spectradefine int n xlet xlet name spect-'x'!file in 'name'.basfindget 3set mod x aset un ...