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. OS复盘

    OS复盘 OS课设已经结课一段时间了,我也从其他课程中抽身出来,有了一段能够好好反思的时光. 说实话,完成OS课设的过程是很痛苦的,指导书蜻蜓点水.注释模棱两可.各种函数和文件调用杂乱无章.每次在完成 ...

  2. Kongmaster

    圣人处无为之事 大智若愚 穷则独善其身,达则兼济天下

  3. oracle导出csv文件后导入mysql

    场景: oracle数据库中有与mysql同名表,需要将oracle表数据导入mysql,需要手工操作 工具: navicat premium 解决方案: 1.使用plsql工具从oracle导出cs ...

  4. (1019) rapidsvn 安装

    https://blog.csdn.net/mzpmzk/article/details/106332039

  5. Java 查找Panel 里的某个组件 比如 按钮

    遇到到一个需求,需要获取界面里的一个按钮,但是这个按钮是封装的父类嵌入的,知道label 的值. 写了一个递归获取它 1 private JButton LookupTheButton(Compone ...

  6. supertv

    Banben:1.3BanbenendGengxinnr:死宅1.2更新内容:[换行]- 增加视频分享[换行]- 支持浏览器打开观看视频GengxinnrendDownurl:http://bmob- ...

  7. JMeter创建上传文件脚本

    环境:Macbook10 ,apache-jmeter-4.0 1. 创建脚本:添加 -> Sampler -> HTTP请求 2.基本配置 3. 设置实现方式,这一步是关键的关键.... ...

  8. C# DataGrid嵌套DataGrid动态隐藏显示行

    前端代码: <Window x:Class="DataGridPractice.MainWindow" xmlns="http://schemas.microsof ...

  9. 小程序Day01

    注册一个微信小程序账号测试号不能用云开发 构建npm(下载node.js) npm i @vant/weapp -S --production if wrong npm init//npm intal ...

  10. ConvTranspose的output_padding问题

    当stride>=2时,反向传播,由dy, w得到dx的时候,dx的形状不唯一. 例如input_shape (7,7)或者(8,8)在kernel(3,3)上,以stride=2进行卷积, 最 ...