如何写出优雅兼备可读性的javascript代码
即或是最简单的需求,不同的程序员也会写出不一样的代码:
需求:充值程序过虑不符合条件的充值金额,即只能充入100、200、500、1000金额,其它过虑:
1.菜鸟程序员可能会这样写,虽然可读性强,代码啰嗦,不够优雅。
$(function () {
var recharge = 100;
if (100 == recharge || 200 == recharge || 500 == recharge || recharge == 1000) {
//to do some thing!
}
});
2.老鸟程序员可能会这样写,代码简洁,但可读性弱。
$(function () {
var recharge = 100;
if (/1000|([1,2,5][0]{1,2})/g.test(recharge)) {
//to do some thing!
}
});
3.比较推荐的写法是这样的,既优雅又兼备阅读性。
$(function () {
Array.prototype.inArray = function (func, item) {
var cur = this;
for (var idx in cur) {
if (func(cur[idx], item)) {
return true;
}
}
return false;
};
var recharge = 100;
if([100, 200, 500, 1000].inArray(function (i, cur) {
return i == cur;
}, recharge)) {
//to do some thing!
}
});
如何写出优雅兼备可读性的javascript代码的更多相关文章
- 如何写出优雅耐看的JavaScript代码
参考链接:https://segmentfault.com/a/1190000020444918?utm_medium=hao.caibaojian.com&utm_source=hao.ca ...
- 写出优雅又地道的pythonic代码(转自网络)
本文是Raymond Hettinger在2013年美国PyCon演讲的笔记(视频, 幻灯片). 示例代码和引用的语录都来自Raymond的演讲.这是我按我的理解整理出来的,希望你们理解起来跟我一样顺 ...
- 如何写出优雅又地道的Python代码?【转载】
在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic.一般说地道(idiomatic)的python代码,就是指这份代码很pyth ...
- 如何写出优雅的JavaScript代码 ? && 注释
如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...
- 如何写出优雅的CSS代码 ?(转)
对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混 ...
- 如何写出优雅的css代码 ?
如何写出优雅的css代码 ? 对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于 ...
- 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!
本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...
- 如何写出优雅的 Golang 代码
原文: https://draveness.me/golang-101.html Go 语言是一门简单.易学的编程语言,对于有编程背景的工程师来说,学习 Go 语言并写出能够运行的代码并不是一件困难的 ...
- 如何写出优雅的Python代码?
有时候你会看到很Cool的Python代码,你惊讶于它的简洁,它的优雅,你不由自主地赞叹:竟然还能这样写.其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一 ...
随机推荐
- 微信支付-“申请退款”接口遇到curl出错,错误码:58
该错误是没有 使用证书 导致的. 解决办法: 1. 下载证书. 2. 拷贝到 WxPayPubHelper/cacert/目录下 重试退款,OK
- 各版本CRM所需端口号
以下是微软官方提供的CRM端口号列表,收藏一下: 4.0 :https://msdn.microsoft.com/en-us/library/dd979226(v=crm.6).aspx This s ...
- Network服务器
1.授权服务器与非授权服务器:大多数网游都是授权服务器,用户无法修改数据.
- Device nodes and device stacks
[Device nodes and device stacks] 链接:https://msdn.microsoft.com/en-us/library/windows/hardware/ff5547 ...
- pdo 事物的处理
- python第二十天-----Django补充
学习python已经20天了啊,从一个不萌萌哒的战5渣升级到了一个萌萌哒的战5渣 1.分页(这是一个很通用的模块,不论在任何框架里都可以使用哦) class Page(object): def __i ...
- Redis 缓存 + Spring 的集成示例
参考网址:http://blog.csdn.net/defonds/article/details/48716161
- HTML5 ---localStorage储存实例
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title> ...
- 二叉树基本操作C++
#include <cstdio> #include <climits> #include <cassert> #include <iostream> ...
- 利用SlidingPaneLayout实现侧滑
利用SlidingPaneLayout实验仿QQ侧滑效果 1.效果图 2.布局文件 <?xml version="1.0" encoding=" ...