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


在这里插入图片描述

🎬 鸽芷咕:个人主页

 🔥 个人专栏: 《高效编程技巧》《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.hqwc.cn/news/95886.html

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

相关文章

推荐个一行代码的Python可视化神器

学过Python数据分析的朋友都知道&#xff0c;在可视化的工具中&#xff0c;有很多优秀的三方库&#xff0c;比如matplotlib&#xff0c;seaborn&#xff0c;plotly&#xff0c;Boken&#xff0c;pyecharts等等。这些可视化库都有自己的特点&#xff0c;在实际应用中也广为大家使…

【LLM】chatglm-6B模型训练和推理

本篇文章记录下 chatglm-6B 训练和推理过程 环境&#xff1a;Ubuntu 20.04 1.13.0cu116 chatglm-6B 源代码仓库&#xff1a;链接 chatglm-6B 模型权重&#xff1a;链接 源代码及模型 clone 到本地 这里使用的是 THUDM 在 hugging face 开源的模型。 因为模型比较大&#xff…

《Python魔法大冒险》004第一个魔法程序

在图书馆的一个安静的角落,魔法师和小鱼坐在一张巨大的桌子前。桌子上摆放着那台神秘的笔记本电脑。 魔法师: 小鱼,你已经学会了如何安装魔法解释器和代码编辑器。是时候开始编写你的第一个Python魔法程序了! 小鱼:(兴奋地两眼放光)我准备好了! 魔法师: 不用担心,…

为什么删除Windows 11上的Bloatware可以帮助加快你的电脑速度

如果你感觉你的电脑迟钝&#xff0c;彻底清除软件会有所帮助&#xff0c;而且这个过程对Windows用户来说越来越容易。 微软正在使删除以前难以删除的其他预装Windows应用程序成为可能。专家表示&#xff0c;这项新功能可能会改变用户的游戏规则。 科技公司Infatica的主管Vlad…

Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

SourceTree 使用技巧

参考资料 SourceTree使用教程&#xff08;一&#xff09;—克隆、提交、推送SourceTree的软合并、混合合并、强合并区别SourceTree 合并分支上的多个提交&#xff0c;一次性合并分支的多次提交至另一分支&#xff0c;主分支前进时的合并冲突解决 目录 一. 基础设置1.1 用户信息…

人员位置管理,点亮矿山安全之路

矿山作为一个高危行业&#xff0c;安全问题一直备受关注。人员定位置管理是现代矿山安全管理的重要一环&#xff0c;可以帮助企业更好地实现对人员的实时监控和管理。因此&#xff0c;矿山人员位置管理系统对于矿山安全生产和管理非常重要&#xff0c;可以帮助减少安全事故的发…

vue的 ECMAScript 6的学习

一 ECMAScript 6 1.1 ECMAScript 6 ECMAScript 和 JavaScript 的关系是&#xff0c;前者是后者的规格&#xff0c;后者是前者的一种实现&#xff08;另外的 ECMAScript 方言还有 Jscript 和 ActionScript&#xff09;。 因此&#xff0c;ES6 既是一个历史名词&#xff0c;也…

通过参数化可变形曲线直接从 X 射线投影数据计算分割研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Shell开发实践:服务器的磁盘、CPU、内存的占用监控

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

iOS开发Swift-4-IBAction,group,音乐播放器-木琴App

1.使用素材创建木琴App的UI。 2.连接IBAction。 其余按钮直接拖拽到play里边。 当鼠标置于1处时2处显示如图&#xff0c;表示成功。当用户按下任一按钮都会触发play中的内容。 3.将7个按钮的View中的Tag值分别调为1、2、3、4、5、6、7. 4.将音频文件拖入项目文件中。 Create gr…

Arcface部署应用实战

1、概述 人脸识别的一个比较常用的网络arcface&#xff0c;依赖于其特殊设计的loss函数&#xff0c;使得模型在训练的时候能够实现类间距离增大&#xff0c;类内的距离不断减小&#xff0c;最终使得所训练的backbone能够获取鉴别性很高的特征&#xff0c;便于人脸识别。 本文…