【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?


在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏: 《高效编程技巧》《C语言进阶》

⛺️生活的理想,就是为了理想的生活!

📋 前言

  🌈hello! 各位宝子们大家好啊,今天来给大家细谈一下,菜鸟和编程大佬的差别究竟在哪里?
  ⛳️是否有很多人觉的自己的代码已经写的很不错的时候,看到大佬的代码是否会想啊!!!我的代码毛病怎么这么多。
  📚本期文章收录在《高效编程技巧》,大家有兴趣可以看看呐
  ⛺️ 欢迎铁汁们 ✔️ 点赞 👍 收藏 ⭐留言 📝!

1.如何写出好的代码?

介绍了这么多那么我们就回到正题吧!一个程序员如何写出高效的代码呢? 我们与编程高手的区别在哪里!

首先我们需要从这几个方面来分析我们的代码:

  1. 正确性、健壮性、可靠性、
  2. 效率、易用性、可读性(可理解性)、可扩展性
  3. 可复用性、兼容性、可移植性

1.2 如何分析一个函数写的怎么样

  • (1)编程风格;
  • (2)出错处理;
  • (3)算法复杂度分析(用于提高性能)

这些相信大家在学校里面要求没有这么严格过吧?但是想要编程出一个好的程序这些是必须要考虑的!

  • 按照上述三个标准我相信大家下次再写代码或者,修改自己的代码一定会有许多想要改进的地方吧!

2. 代码板式的重要性

代码的板式也是非常重要的东西可不要小看了这些东西,想写出高质量的代码板式是我们万丈高楼的一小步。

  • 版式虽然不会影响程序的功能,但会影响可读性
  • 程序的版式追求清晰、美观,是程序风格的重要构成因素

其实我们可以把,代码的板式理解为我们日常生活中的 书法 ,书法好了就可以让人一幕了然。如果代码风格一塌糊涂的话,那么我们在维护这些代码时肯定一阵头大。

  • 好的“书法”可让人对程序一目了然,看得兴致勃勃
  • 差的程序“书法” 让人看得索然无味,更令维护者骂娘的心都有了

2.1 代码空行

空行的作用也是非常大的,好的空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。

  • 而且空行并不会影响我们程序的大小和性能,所以可以放心使用

2.1.1 函数定义的空行演示

📚 代码演示:

// 空行 
void Function1()
{//…
}
// 空行 
void Function2()
{//…
}
// 空行 
void Function3()
{//…
}

2.1.1 函数内部的空行

📚 代码演示:

// 空行
while (condition) 
{ statement1; // 空行if (condition) { statement2; } else { statement3; } // 空行statement4; 
} 

2.2 代码行

我们以前在初学C语言的时候,总喜欢一行定义多个变量还不初始化这个是非常不对的:

  • 不方便阅读,并且也不方便于写注释

所以正确的代码行应该这个样写:

  1. 一行代码只做一件事情,如只定义一个变量或只写一条语句。这样的代码容易阅读,并且方便于写注释。
  2. if、for、while、do 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写失误。
风格良好的代码行风格不良的代码行

在这里插入图片描述
2.2.1建议:

  • 尽可能在定义变量的同时初始化该变量(就近原则)

如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。

int width = 10; // 定义并初绐化 width 
int height = 10; // 定义并初绐化 height 
int depth = 10; // 定义并初绐化 depth

2.3 代码行内的空格

  • 【规则 一 】关键字之后要留空格。像 const、virtual、inline、case 等关键字之后至少要留一个空格,否则无法辨析关键字。

  • 【规则 二 】函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。

  • 【规则 三 】‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。

  • 【规则 四】‘,’之后要留空格,如 Function(x, y, z)。如果‘;’不是一行的结束
    符号,其后要留空格,如 for (initialization; condition; update)。

  • 【规则 五】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等双目操作符的前后应当加空格。

  • 【规则 六】单目操作符如“!”、“~”、“++”、“–”、“&”(地址运算符)等前后不
    加空格。

  • 【规则 七】象“[]”、“.”、“->”这类操作符前后不加空格。
    🔥 注:对于表达式比较长的 for 语句和 if 语句,为了紧凑起见可以适当地去掉一些空格,如 for (i=0; i<10; i++)和 if ((a<=b) && (c<=d))

代码行内的空格

在这里插入图片描述

2.4 对齐

  • 【规则 一】程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用
    它们的语句左对齐。
  • 【规则二】{ }之内的代码块在‘{’右边数格处左对齐。

🔥 示例: 2-4(a)为风格良好的对齐,示例 2-4(b)为风格不良的对齐。

风格良好的代码行风格不良的代码行

在这里插入图片描述

📝全篇总结

✅ 归纳:
好了以上就是关于分支语句 switch 的用法,和注意事项就全部讲解完毕啦!
  switch的介绍
  switch的语法
  switch中的break
  default语句
  switch的注意事项
☁️ 把本章的内容全部掌握,铁汁们就可以熟练应用switch语句啦!
看到这里了还不给博主扣个:
⛳️ 点赞☀️收藏 ⭐️ 关注

💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
拜托拜托这个真的很重要!
你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信呢秒回哦。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/65916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el-upload上传图片到七牛云或阿里云

&#xff08;1&#xff09;绑定上传地址&#xff0c;上传数据对象 <el-upload class"upload-demo" :action"uploadUrl" :data"uploadData":on-success"handleSuccess" :file-list"[]" :show-file-list"false"…

linux安装mysql无论如何修改权限和所属用户都出现Permission denied

前言 由于后期需要存储大量数据&#xff0c;因此需要将mysql的数据存储位置设置在大容量的硬盘 最早的时候尝试利用apt-get来安装mysql&#xff0c;按照教程设置新的存储为&#xff0c;包括创建新的data文件夹&#xff0c;和利用sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf和…

vmstat

vmstat VirtualMeomoryStatistics&#xff0c;虚拟内存统计&#xff0c;是Linux中监控内存的常用工具&#xff0c;可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。 [rootwenzi wenzi]# vmstat procs -----------memory---------- ---swap-- -----io---- -system--…

C#---第21: partial修饰类的特性及应用

0.知识背景 局部类型适用于以下情况&#xff1a; 类型特别大&#xff0c;不宜放在一个文件中实现。一个类型中的一部分代码为自动化工具生成的代码&#xff0c;不宜与我们自己编写的代码混合在一起。需要多人合作编写一个类 局部类型的限制: 局部类型只适用于类、接口、结构&am…

Python Qt学习(九)MainWindow

源代码&#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_mainwindow.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do n…

【UE 材质】常用向量运算节点——点积、叉积、归一化

目录 一、点积 二、叉积 三、归一化 一、点积 点积&#xff0c;也称为内积或数量积&#xff0c;是一种用于计算两个向量之间关系的操作。对于两个三维向量 A&#xff08;a1,a2,a3&#xff09;和 B(b1,b2,b3)&#xff0c;它们的点积可以用以下公式表示&#xff1a; ABa1​⋅…

大数据课程K13——Spark的距离度量相似度度量

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的距离度量和相似度度量; ⚪ 掌握Spark的欧氏距离; ⚪ 掌握Spark的曼哈顿距离; ⚪ 掌握Spark的切比雪夫距离; ⚪ 掌握Spark的最小二乘法; 一、距离度量和相似度度量 1. …

MFC中获取任务栏大小

MFC怎么获得当前屏幕大小 你可以这样 HWND hwndGetDesktopWindow();RECT rect; GetClientRect(hwnd,&rect);//可以得到桌面大小 还有就是上面所说的 int nScreenWidth, nScreenHeight; nScreenWidth GetSystemMetrics(SM_CXSCREEN); nScreenHeight GetSystemMetrics(SM_…

【Grasshopper基础15】“右键菜单似乎不太对劲”

距离上一篇文章已经过去了挺久的&#xff0c;很长时间没有写GH基础部分的内容了&#xff0c;原因其一是本职工作太忙了&#xff0c;进度也有些落后&#xff0c;白天工作累成马&#xff0c;回家只想躺着&#xff1b;其二则是感觉GH基础系列基本上也介绍得差不多了&#xff0c;电…

1分钟实现 CLIP + Annoy + Gradio 文搜图+图搜图 系统

多模态图文搜索系统 CLIP 进行 Text 和 Image 的语义EmbeddingAnnoy 向量数据库实现树状结构索引来加速最近邻搜索Gradio 轻量级的机器学习 Web 前端搭建 文搜图 图搜图 CLIP图像语义提取功能&#xff01;

微信小程序餐饮外卖系统设计与实现

摘 要 随着现在的“互联网”的不断发展。现在传统的餐饮业也朝着网络化的方向不断的发展。现在线上线下的方式来实现餐饮的获客渠道增加&#xff0c;可以更好地帮助餐饮企业实现更多、更广的获客需求&#xff0c;实现更好的餐饮销售。截止到2021年末&#xff0c;我国的外卖市场…

Go语言基础语法|疑难分析及相关补充

疑难分析 1.对于range遍历的理解 eg&#xff1a; package main import "fmt" func main() { nums : []int{2, 3, 4} sum : 0 for i, num : range nums { sum num if num 2 { fmt.Println("index:", i, "num:", num) } } …

数据结构 -作用及基本概念

为什么要使用数据结构 学习数据结构是计算机科学和软件工程领域中非常重要的一门课程。以下是学习数据结构的几个重要原因&#xff1a; 组织和管理数据&#xff1a;数据结构提供了一种组织和管理数据的方式。通过学习不同的数据结构&#xff0c;你可以了解如何有效地存储和操作…

Python Tcp编程

网络连接与通信是我们学习任何编程语言都绕不过的知识点。Python 也不例外&#xff0c;本文就介绍因特网的核心协议 TCP &#xff0c;以及如何用 Python 实现 TCP 的连接与通信。 TCP 协议 TCP协议&#xff08;Transmission Control Protocol&#xff0c; 传输控制协议&#…

Flutter关于StatefulWidget中State刷新时机的一点实用理解

刚入门flutter开发&#xff0c;使用StatefulWidget踩了很多坑&#xff0c;就我遇到典型问题谈谈见解。 1.initState方法只会在控件初始化的时候执行一遍。 2.控件内部执行setState方法&#xff0c;则会每次执行build方法。 3.控件销毁会执行dispose方法&#xff0c;所以一些…

2023年6月电子学会Python等级考试试卷(三级)答案解析

青少年软件编程(Python)等级考试试卷(三级) 一、单选题(共25题,共50分) 1. 请选择,下面代码运行之后的结果是?( ) a = 2 b = 4 try: c = a * b print(c) except: print(程序出错!) else: print(程序正确!) A.

大模型的能力边界在哪里?

随着人工智能领域的不断发展&#xff0c;大型神经网络模型已经成为了研究和应用中的主要工具之一。这些大模型&#xff0c;尤其是像GPT-3这样的巨型语言模型&#xff0c;展示了令人印象深刻的自然语言处理能力&#xff0c;甚至能够生成高质量的文本、回答问题、模仿不同的写作风…

从入门到精通,30天带你学会C++【第六天:与或非三兄弟和If判断语句(博主目前最长文章,2514字)】(学不会你找我)

目录 前言 计算机里的真和假 与或非三兄弟 与运算&#xff08;&&&#xff09; 具体说明表格&#xff1a; 举个栗子1&#xff1a; 或运算&#xff08;||&#xff09; 具体说明表格&#xff1a; 举个栗子2&#xff1a; 非运算&#xff08;!&#xff09; 具体…

Linux之超强16进制命令:xxd(三十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Win 教程 Win7实现隔空投送

一直觉得自己写的不是技术&#xff0c;而是情怀&#xff0c;一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的&#xff0c;希望我的这条路能让你们少走弯路&#xff0c;希望我能帮你们抹去知识的蒙尘&#xff0c;希望我能帮你们理清知识的脉络&#xff0…