如何写出好代码

如何写出高质量代码 在当今快速发展的软件开发行业中,代码不仅仅是计算机可以理解的指令,更是一种沟通的工具。你是否想过,写出高质量代码究竟意味着什么?高质量的代码就像是一篇优秀的文章,不仅能被计算机执行,还能够被人类轻松理解、维护和扩展。接下来,我们将一起探索如何写出高质量代码,并分享一些实用的编程实践和工程方法论。 阅读详情
好的代码不仅是对的,而且是看起来显然是对的。
优雅,简洁,高效是程序员写代码的最高追求,也是干净代码的最高境界。如果自认为是个有追求的程序猿,请追求最美好的东西,代码美到极致那就是艺术,看到自己写的东西让别人赏心悦目那心情想必是极好的。
要知道什么是干净的代码,自己才能写得出来,模仿是创造的前提。多看看别人写的东西。各种开源的apache项目和库的代码,不一定要深入的研究(当然如果深入研究更好),至少多看一看大师们写的代码都是长怎么样的。
干净的注释,很多人认为写注释是一种好习惯,写个max函数也注释一下,写个get,set函数也注释一下,莫非你把读你代码的人都当外行了吗?太多的注释是一种负担。过多的注释和没有注释一样,你根本不知道注释应该怎么用。注释更多的是解释为什么而作,而不是怎么做,因为你的代码已经很好的诠释了怎么做。你用注释来解释代码怎么做的,只能说明你的代码写得还不能让人看起来就是对的。注释关注你无法用代码表述的东西。关于注释,我看某知名互联网公司内部视频有个人做分享的时候,他说注释一定要用中文的注释,因为你是中国人,看你代码的也是中国人,而且要么你的英语没有那么好,要么你的同事的英语没有那么好。我想说的是,如果你还算得上个有追求有梦想的人,你断然不会这样说,为什么中国这么多聪明人,在计算机技术的发展过程中,没有任何有创造性的东西?没有任何一家真正算得上国际性的互联网公司?别把自己的能力局限在所处的环境中,心有多大,舞台就能有多大。
干净优雅的设计,谈到设计,不得不提到unix的KISS编程哲学,面向对象的语言怎么发展而来的?现在的OOD,OOA,设计模式等等都是从unix哲学上吸取了精华衍生而来的。提供锋利的小工具,其中每一样都把一件事做好,如cat ,wc,sort,grep,他们可以通过管道来传递数据,进行任意的组合,完成各种复杂的任务。现代面向对象思想中的低耦合、高内聚也不过是一种延伸。可视化可以更好的审阅,文本化更容易编辑和修改。
干净的算法是高效而清晰的,多问问自己还有没有更好的算法,更清晰更简洁更高效的算法?多积累,只有掌握了足够多的东西以后才知道什么东西是相对好的。只有不断的学习和积累。
干净的代码是有规范整齐的命名方式的,遵循各语言的命名规范或者公司内部的命名规范,比如首字母小写其余各单词的首字母小写

复用,重复功能的代码一定要提取出来成为一个单独的模块。
归类,厨房里面每一个盘子都很干净,但是摆得到处都是,不会显得特别干净,一定要物以类聚。把相似功能的代码放在一起,把有相关性的代码放在一起,不至于看一个文件中的函数是需要不停的上下翻动。看几个相关的类要越过多个文件夹。
跑之前先学会走。在进行代码的清洁工作之前一定要有一个功能齐整的东西。当然有些东西可以边写的时候边整理,比如函数名称和变量名称的可读可理解性,取一个能恰当表达含义的名字。以及各种局部的工作,如修改某个算法使之更高效。当然有些关于重复代码的抽取工作需要发现了重复代码以后才能进行的。特别是设计方面,好的设计不是一蹴而就的,用会经历反复的叠代的。只有不断的审视现有的设计,不断发现缺陷,改进,再发现问题。
破窗理论。一旦你的代码里面有一个地方显得不干净,那么慢慢的就会有第2个第3个,慢慢的整个代码都会脏乱差起来。所以只要发现你的代码中有不干净的地方,请及时修改它,later equals never,所以发现了就立即马上修复,不要说你稍后就改...
干净的含义不是不能增加任何东西,而是不能减少任何东西。
必要的重构。每天进行一小步的重构。
好的变量名和函数名,让循环嵌套更清晰。何谓好的,比如约定俗成的,既成事实的,除非你发明或发现更好的。好的变量名是程序员之间的jargon,比如createSocket,buffer,readLine。如果你写的东西总是规范的,当你需要去调用某个函数时,都不需要去翻看那个函数叫什么。
我有强迫症,总是会希望是再整理整理我的代码!
注意隐藏,把不该让别人看到的东西隐藏起来。这个道理很简单,你买的新内衣一定不会希望让所有到你家做客的人看见吧?
不传入空值,也不返回空值。每个人都遵守交通规则就不会有交通事故一个道理。但是我们得预防那些不遵守交通规则的人对我们造成的伤害,代码也是一样。我们需要防御式编程。
上午:一个MakeCode项目 在打开此页面 用作扩展 该存储库可以作为扩展添加到MakeCode中。 打开 点击新项目 点击齿轮菜单下的扩展程序 搜索并导入 编辑这个专案 在MakeCode中编辑此存储库。 打开 单击导入,然后单击导入URL 粘贴并单击导入 方块预览 此图显示了master中最后一次提交的块代码。 该图像可能需要几分钟才能刷新。 元数据(用于搜索,呈现) 用于PXT /街机 [removed] 立即下载

相关推荐

最终项目:MakeCode项目

在打开此页面 用作扩展 该存储库可以作为扩展添加到MakeCode中。 打开 点击新项目 点击齿轮菜单下的扩展程序 搜索并导入 编辑这个专案 要在MakeCode中编辑此存储库。 打开 单击导入,然后单击导入URL 粘贴并单击导入 方块预览 此图显示了master中最后一次提交的块代码。 该图像可能需要几分钟才能刷新。 元数据(用于搜索,呈现) 用于PXT /微比特 [removed]

makecode.m

%makecode源程序 function makecode(sc,codeword) %Huffman符号减少树递归地去产生可变长度编码词 %全局函数存在于所有递归dan'yuan'z global CODE if isa(sc,'cell')%对于单元阵列节点 makecode(sc{1},[codeword 0]);%1阶元素加0 makecode(sc{2},[codew...

YangYaYan的博客 1878

我的代码块:一个MakeCode项目

在打开此页面 用作扩展 该存储库可以作为扩展添加到MakeCode中。 打开 点击新项目 点击齿轮菜单下的扩展程序 搜索并导入 编辑这个专案 在MakeCode中编辑此存储库。 打开 单击导入,然后单击导入URL 粘贴并单击导入 方块预览 此图显示了master中最后一次提交的块代码。 该图像可能需要几分钟才能刷新。 元数据(用于搜索,呈现) 用于PXT /微比特 [removed]

MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]

MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]: 基础训练题: Q1:摇晃micro:bit编程板,随机出现7个小动物图标中的一个,并且前后相邻两次出现的小动物不重复。 注:七个小动物图标为鸭子、乌龟、蝴蝶、长颈鹿、蛇、兔子、奶牛 Q2:摇晃micro:bit编程板,随机出现1~9之间的任意一个奇数,并且前后相邻两次出现的数字不重复。 超级挑战题: Q3:摇晃micro...

minemi的博客 1万+

步骤:一个MakeCode项目

通过打开此页面 用作扩展 该存储库可以作为扩展添加到MakeCode中。 打开 点击新项目 点击齿轮菜单下的扩展程序 搜索并导入 编辑这个专案 在MakeCode中编辑此存储库。 打开 单击导入,然后单击导入URL 粘贴并单击导入 方块预览 此图显示了master中最后一次提交的块代码。 该图像可能需要几分钟才能刷新。 元数据(用于搜索,呈现) 用于PXT /微比特 [removed]

教程修复:MakeCode项目

教程 let mySprite = sprites.create(img` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

写出漂亮代码的45个小技巧

比如在项目中不同的类型的业务可能需要上传各种各样的附件,此时就可以定义好不同的一个附件的枚举,来区分不同业务的附件。不要在代码中直接写死,不定义枚举,代码阅读起来非常困难,直接看到数字都是懵逼的。。

Huangjiazhen711的博客 2486

CVE-2025-25249漏洞深度解析:FortiOS认证绕过与实战缓解

远程代码执行(RCE)是网络安全中最危险的漏洞类型之一,其核心往往源于认证机制失效或内存安全缺陷。CVE-2025-25249正属于此类高危漏洞——它不依赖用户凭证,也不需要交互触发,而是通过超长HTTP头(如X-Forwarded-For)引发内存越界写入,直接绕过FortiOS和FortiSwitchManager的完整认证流程。该漏洞影响广泛、CVSS评分高达9.8,凸显了嵌入式设备在HTTP协议栈实现中的深层风险。在企业网络中,FortiGate等设备常作为边界守门人,一旦失陷将导致root级控制权

weixin_33694620的博客 524

杂谈代码整洁

作者:russhePrograms are meant to be read by humans and only incidentally for computers to execut...

腾讯技术工程 5863

从三极管到MOS管:单片机I/O口驱动电路设计实战解析

本文深入解析了从三极管到MOS管的单片机I/O口驱动电路设计实战经验。通过对比三极管与MOS管的本质区别,结合实际案例详细讲解了驱动电路的设计要点、优化技巧及常见问题解决方案,帮助工程师高效完成各类负载驱动设计。

weixin_29161785的博客 317

模拟IC版图DRC实战:手把手教你搞定MIM电容天线错误和ESD.10g违例

本文深入解析模拟IC版图中的MIM电容天线错误和ESD.10g违例问题,提供从错误解码到实战修复的完整指南。通过电路图修改、版图优化和验证闭环等步骤,帮助工程师高效解决DRC错误,特别适用于ADC等精密模拟电路设计。文章还分享了高级排错技巧和预防性设计策略,大幅提升流片成功率。

weixin_27697385的博客 295

如何写出优雅漂亮代码的45个小技巧

不知道大家有没有经历过维护一个已经离职的人的代码的痛苦,一个方法写老长,还有很多的if else ,根本无法阅读,更不知道代码背后的含义,最重要的是没有人可以问,此时只能心里默默地问候这个留坑的兄弟。。其实造成这些原因的很大一部分原因是由于代码规范的问题,如果写的规范,注释好,其实很多问题也就解决了。所以本文我就从代码的编写规范,格式的优化,设计原则和一些常见的代码优化的技巧等方面总结了了45个小技巧分享给大家,如果不足,欢迎指正。1、规范命名命名是写代码中最频繁的操作,比如类、属性、方法、参数等。

m0_67597657的博客 5256

当LightGBM推理遇上GPU:3种替代方案性能对比(含ONNX实战代码)

本文针对LightGBM官方不支持GPU推理的性能瓶颈,深度评测了RAPIDS cuML、ONNX Runtime GPU和Triton Inference Server三种GPU加速推理替代方案。通过详尽的性能对比和实战代码,为高并发、低延迟的在线预测场景提供了清晰的选型指南,帮助工程师打破推理性能枷锁,实现显著的吞吐量提升。

salt9的博客 813

如何写出Pythonic的代码?

Pythonic是一个经常用于描述 Python 编程语言的特定风格的术语。符合 Python 习惯用法:代码应该遵循 Python 社区普遍接受的约定和最佳实践。这意味着代码应该看起来像是经验丰富的 Python 程序员所写。简洁和可读性强:Pythonic 的代码通常简洁明了,避免了不必要的复杂性。它易于阅读和理解,即使是对 Python 不是特别熟悉的开发者。利用 Python 特性。

m0_57158496的博客 1289

NX二次开发新建组件

NXOpen新建组件

qq_39541524的博客 329

【云原生之Docker实战】使用docker部署Monica个人开源CRM系统

【云原生之Docker实战】使用docker部署Monica个人开源CRM系统

jks212454的博客 2386

写出好代码 提交代码的技巧

写出好代码 提交代码的技巧

炫的博客 2万+

Linux7 挂载 nfs 远程目录

每天一个 DBA 小知识,助你更进一步!

LuciferLiu_DBA 1万+

写出pythonic的代码

写出pythonic的代码什么是pythonic常用的写法1. 程序必须先让人读懂,然后才能让计算机执行。2. 代码规范2.1 编码规则2.2 命名规范3. 常用代码技巧3.1 pass语句提供占位符3.2 善用推导式1.列表推导式 什么是pythonic The Zen of Python The Zen of Python, by Tim Peters Beautiful is bette...

周闖的博客 886

用playwright封装一个处理web网页的爬虫,并隐藏自动化特征,自动处理反爬

本文介绍了一个使用Playwright封装的Python爬虫函数,具备反爬对抗能力。该脚本通过移除自动化标志、注入真实用户代理、禁用Chrome自动化属性等措施,有效绕过电商、新闻等中等反爬网站的检测。核心功能包括:隐藏navigator.webdriver标志、模拟人类浏览行为、设置合理的设备参数,并支持代理和延迟加载。使用时需注意避免高频访问并定期更新User-Agent。该方案适用于需要JavaScript渲染的动态网页,性能优于非无头模式。

数据知道的博客 3393

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

任何一个傻瓜都能写出计算机可以理解的代码,惟有写出人类容易理解的代码,才是优秀的程序

任何一个傻瓜都能写出计算机可以理解的代码,惟有写出人类容易理解的代码,才是优秀的程序员

xing31120的专栏 1904

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

如何写出优雅的代码

如何写出优雅的代码 文章目录如何写出优雅的代码前言一、写出优雅代码的原则1.引入库2.读入数据总结 前言 优雅的代码有几个特征: 1、可读性:代码是否容易看得懂 2、可维护性:改bug是否容易 3、可拓展性:是否容易添加新功能 4、灵活性:添加新功能是否容易,老方法和接口是否容易复用 5、简洁性:代码是否简单清晰 6、可复用性:相同的代码不要写两遍 7、可测试性:是否方便写单元测试和集成测试 一、写出优雅代码的原则 1.引入库 代码如下(示例): import numpy as np import p

qq_39406460的博客 2468

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

如何写出难以维护的“烂代码”?

要是想写个烂代码,我们只需遵守这十九条准则?「代码写得好」是对机器学习研究者及开发者最好的赞扬。其第一层意思是说,你的模型非常好,有自己的理解与修正;第二层意思是说代码的结构、命名规则、编...

独行侠梦的博客 860

写出好代码的底层逻辑

程序员安身立命的手艺就是写代码,可多少人知道如何才能写出好的代码呢?这几年也做过很多次的代码 CR,可好代码的标准在哪里呢?我们在做 CR 的时候,其实只是停留在代码的表面,主要是跟规范相关的点:命名、代码行数、代码写法、注释如何,这些其实都是可以用 ESLint 做规范去解决的,也很容易形成习惯。如果在这个基础上,每个人都做得不错的情况下,那到底什么是决定了代码的好坏呢?在想这个问题之前,我们得...

我本可以容忍阳光,如果我不曾见过太阳,然而阳光已使我荒凉,成为更新的荒凉。 209

如何写出好的代码

看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。直接看错误提示信息(双击),解决问题。或者凭借经验就可以搞定。一般按住ctrl+F键呼出搜素查找错误信息处。借助调试,逐步定位问题。1. 使用assert来断言。2. 尽量使用const。3. 养成良好的编码风格。5. 避免编码的陷阱。1.代码调试经典例子。2.如何写出好的代码。4. 添加必要的注释。不存在或者拼写错误。

2501_91740090的博客 591
上一篇: 音乐的随机播放
下一篇: iOS内存管理
MakeCodeClear
博客等级 码龄14年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值