函数规则|学习笔记

简介: 快速学习函数规则

开发者学堂课程【PHP 基础入门课程(下)函数规则】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12630


函数规则


内容介绍:

一、函数命名规则

二、函数运用规则

三、函数体规则


一、函数命名规则

函数规则:函数本身没有太多规则,通常是我们开发者对其有一些约定俗称的规范。

1、函数名字由数字、字母和下划线组成,数字不能开头。

2、PHP 中函数名不区分大小写。(系统会认为是同一个函数,同一个函数在内存里面不能出现,一旦出现,系统会报错)

3、PHP 中函数名不能重复:即一个脚本运行周期内不能有两个同名函数。

4、函数命名应当见名知意。

5、当函数有多个单词组成的时候,通常使用以下两种方式。

驼峰法:第一个单词首字母小写,其他单词首字母大写(小驼峰)

下划线法:都小写,但是单词间使用下划线连接(较多使用)


二、函数运用规则

1、函数的目的是为了模块化开发,实现代码的重复利用。(所以在实现函数的时候,会发现往往一个大工程它并不可能完全复用,但大工程里面的小细节往往可以进行复用。)

2、函数解决问膜的颗粒度较小:即函数应该实现小功能。(不贪大,越小复用性越高,大问题可以是由多个小函数组成,调用即可。

例如有一个九九乘法表,打印完九九乘法表完还要在下面打印一个菱形,这种时候就不合适,所以应该九九乘法表一个,菱形一个,这样就可以去解决问题,如果以后哪个地方想要用到九九乘法表跟菱形同时用,可以在函数内调用这两个就即可。)


三、函数体规则

1、函数体主要是用来解决某个具体问题。

2、函数体可以进行定义变量、运算数据、数据判定(分支)、数据重复(循环),也可以通过调用其他函数解决问题。

3、函数体内基本不进行输出操作,如果有数据的话通常是通过返回值返回给调用处。

4、函数操作通常只负责运算,不对结果负责(即结果交给调用处分析判定)

相关文章
|
Web App开发 Oracle Java
如何优雅地安装 Android Studio
如何优雅地安装 Android Studio
335 0
|
8月前
|
监控 安全 调度
任务调度企业级场景下的新选择,兼容 XXL-JOB 通信协议
XXL-JOB 是一个开源的分布式任务调度平台,开箱即用、简单易上手,得到了很多开发者的喜爱。和其他中间件开源项目一样,当开发者把开源项目部署到公共云,应用到企业级场景中时,就会在稳定性、性能、安全、其他云产品间集成体验上提出更高的要求。基于此背景,阿里云微服务引擎 MSE 基于自研的分布式任务调度平台 SchedulerX,通过兼容 XXL-JOB 客户端的通信协议,在开源 XXL-JOB 版本的基础上,提升了稳定性、安全、性能、可观测等能力,满足企业客户的需求。此外,为方便测试,提供了一个月 400 元额度的免费试用和预付费首购 5 折、续费 6.5 折起的优惠。
405 173
|
11月前
|
Kubernetes Docker Perl
k8s常见故障--yaml文件检查没有问题 pod起不来(一直处于创建中)
k8s常见故障--yaml文件检查没有问题 pod起不来(一直处于创建中)
329 1
|
9月前
|
消息中间件 Kafka 测试技术
消息队列 MQ 性能大揭秘
本文对比了RabbitMQ、RocketMQ、Kafka和Pulsar四款消息队列的性能。RabbitMQ的吞吐量为万级,延迟在低吞吐量时可低至微秒级;高吞吐量下延迟显著上升。RocketMQ官方宣称支持万亿级吞吐量,实际测试中可达百万级TPS,延迟为毫秒级。Kafka和Pulsar的吞吐量均为百万级,Kafka延迟低至2ms,Pulsar延迟约10ms。总体来看,Kafka在高吞吐量下表现最优,而RabbitMQ适合对速度与可靠性要求高的低吞吐量场景。
545 0
消息队列 MQ 性能大揭秘
|
10月前
|
XML 前端开发 JavaScript
前端大神揭秘:如何让你的网页秒变炫酷,让用户欲罢不能的5大绝招!
前端开发不仅是技术活,更是艺术创作。本文揭秘五大前端开发技巧,包括合理运用CSS动画、SVG图形、现代JavaScript框架、优化网页性能及注重细节设计,助你打造炫酷网页,提升用户体验。
307 30
|
人工智能 算法 搜索推荐
人工智能伦理:技术发展的新挑战
随着人工智能技术的飞速发展,其在社会各领域的应用日益广泛。然而,AI技术的进步也带来了一系列伦理问题,包括隐私侵犯、算法偏见和责任归属等。本文深入探讨了AI伦理的核心议题,分析了当前面临的主要挑战,并提出了相应的解决策略。通过综合考量技术、法律和道德三个维度,旨在为构建一个更加公正、透明和可控的人工智能未来提供参考框架。
|
12月前
|
SQL XML Java
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
|
Anolis 开发者
龙蜥社区 6 月度运营大事件回顾
龙蜥社区 6 月运营月报送达。
|
自然语言处理 JavaScript 安全
VUE 学习笔记(三) Vue 渲染流程详解
VUE 学习笔记(三) Vue 渲染流程详解
140 1
|
存储 SQL 开发框架
数据库原理与应用(SQL Server)笔记 第九章 存储过程和触发器(上)
数据库原理与应用(SQL Server)笔记 第九章 存储过程和触发器
数据库原理与应用(SQL Server)笔记 第九章 存储过程和触发器(上)