24.1.2 代码约定

  1. 变量和函数名
    变量名应为名词如car或person.
    函数名应该以动词开始,如getName()。返回布尔类型值的函数一般以is开头,如isEnable()

24.1.3 松散耦合

只要应用的某个部分过分依赖于另一部分,代码就是耦合过紧。
1.解耦应用逻辑 / 事件处理程序

  1. function handleKeyPress(event){
  2. if(event.keyCode == 13){
  3. var target = event.target;
  4. var value = 5 * parseInt(target.value);
  5. if(value > 10){
  6. document.getElementById("error-msg").style.display = "block";
  7. }
  8. }
  9. }

:::info 这个事件处理程序除了包含了应用逻辑,还进行了事件的处理。这种方式的问题有其双重性 :::

  1. function validateValue(value){
  2. value = 5 * parseInt(value);
  3. if(value > 10){
  4. document.getElementById("error-msg").style.display = "block";
  5. }
  6. }
  7. function handleKeyPress(event){
  8. if(event.keyCode == 13){
  9. var target = event.target;
  10. validateValue(target.value);
  11. }
  12. }

:::tips 牢记的应用和业务逻辑之间松散耦合的几条原则:

  • 勿将event对象传给其他方法;只传来自event对象中所需的数据;
  • 任何可以在应用层面的动作都应该可以在不执行任何事件处理程序的情况下进行;
  • 任何事件处理程序都应该处理事件,然后将处理转交给应用逻辑。 :::