如何写成优雅的代码(格式篇)

2024-06-19 05:48
文章标签 代码 优雅 格式 写成

本文主要是介绍如何写成优雅的代码(格式篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何写成优雅的代码(格式篇)
1.关于命名:
我个人比较支持的一种观点是,变量名的描述粒度与其变量作用域密切相关。比如,
如果我们
For($i=0;$i<count($array);$i++){
For($j=0;$j<count($array[$i];$j++){
//do more work...
}
}
这样的类似$i,$j的命名毫无坏处,甚至更利于阅读。i,j,m,n这种约定俗成的循环计数器可以让代码更精简且利于阅读。但是如果出现在
---conf.php----
$n = ’misko_lee’ ;    //name
$a = 18 ;    //age

---index.php ----

Echo $n . ’:’ . $a ;  

这种的代码完全让人一头雾水,比如压缩过的js代码。
如果改成
$name = ’misko_lee’ ;
$age = 18 ;
$adminName = ’misko_lee’ ;
$adminAge = 18 ;
我们如何去命名一个变量名应该与这个变量的作用范围相符。我们应该命名为$n,$name,$adminName,则需要考虑这个变量在多大的范围内使用,使用范围越大应该变量名描述越详细。
好的变量命名不需要注释。

除了命名之外,变量名还应该区分功能。
比如常量。 LOCALHOST_NAME (全大写完整单词,下划线分割)
私有变量: _varName;(声明该变量为私有属性,用于js等无在语言级别上约束的语言)。
类名:MyClass
方法/函数名(myFunc(),_myFunc())
...

以上方式仅仅是一些比较好的经验,总之,好的变量命名可以拒绝描述性的注释。



关于缩进。

我不支持完全按层级缩进的格式。个人认为,缩进超过四层就可以考虑拆分缩进了。
如:
If(){
If(){
If(){
If(){

}
}
}
}


我不喜欢这种缩进,我更喜欢

If(){
If(){

If(){


//第三层
If(){
If(){

}

}


}
}
}




也就是说,不要让文本编辑器出现横滚动条


三,如果某个对象的属性在某一局部区域类被大量引用,请创建变量缓存。

如果出现了
Function func ( &$obj ) {
$obj -> a = $obj -> b + 2;
$obj -> a = ( $obj -> a + 14 ) / $obj -> a;
}

如果出现了这种情况,那么使用
Function func ( &$ obj ) {
$cache = $obj -> a;
$cache = $obj -> b + 2;
$cache = ( $cache + 14 ) / $cache;
$obj -> a = $cache;
}
这种效率会更高。因为对一个对象的成员寻址过程比局部变量的选址过程复杂很多。

四.三元运算符。

如果仅仅是
If( $b ) {
$a = $b;
} else {
$a = false;
}

那么写成 $a = $b ? $b : false;  可能会更容易阅读。

五:关闭资源
无论如何,我们都应该在资源使用完后及时关闭。

比如我们进行了一次mysql_connect();连接。
那么我们必须在所有数据库操作结束后关闭mysql_close();
除非已经到了页脚。


六:
你们已经发现我所有的代码的操作都是有空格隔开的。

每一个笨蛋都可以写出计算机可以运行的代码,只有
程序员才可以写出人可以认识的代码。

原文地址:http://bbs.lampbrother.net/read-htm-tid-150401.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(22) | 评论(0) | 转发(0) |
0

上一篇:和大家探讨:轻量级笔记

下一篇:两例Eclipse不能启动Tomcat服务的处理过程

相关热门文章
  • C++ 将unsigned char数组 ...
  • linux内核的一些预定义...
  • 美国RT服务器租用仿牌网站不二...
  • 北京外资公司注册都需要那些流...
  • text段,data段,bss段,堆和栈 ...
  • IP Sec VPN与NAT破镜重圆
  • 网站导航
  • GoAgent图文设置教程
  • UT2.0正式版下载
  • tomcat6.0配置(含配置视频下载...
  • 大家都是用什么来管理hadoop集...
  • 网站被人挂了吗,添加了些程序...
  • Nginx如何保证不走宕机的那个...
  • 大家谈谈MYSQL客户端和服务器...
  • 以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
评论热议

这篇关于如何写成优雅的代码(格式篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074172

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN