搜索
首页Javajava教程成为更好的编码员:提示

Become a Better Coder: Tips

网上流传着无数的 Python 最佳实践,对每个最佳实践的看法可能会因你询问的人而异。互联网使专业知识民主化,允许任何人——包括我自己——分享他们的观点。然而,在本文中,我们将重点关注 10 个永恒的 Python 最佳实践,这些实践已获得广泛共识并被广泛认为是基础。

Pandas 备忘单

Git 命令备忘单

前 50 个 SQL 面试问题

提示 1:函数应指定参数和返回类型
定义函数时,您希望始终指定参数的类型以及函数返回的数据类型。这将帮助您和团队中的开发人员知道会发生什么,而不必总是使用打印语句来获得直观的理解。

提示 2:函数应该处于同一抽象级别
当我们谈论处于同一抽象级别的函数时,我们指的是函数应该执行单个、定义良好的任务的想法。该任务在整个功能中应该处于一致的抽象级别。换句话说,函数应该专注于特定级别的细节或复杂性,并且所有函数的操作都应该在同一级别上运行。

技巧 3:函数应该很小
函数应该是可重用的。而且函数越大,可重用的可能性就越小。这也与为什么一个函数应该只做一件事相关。如果它只做一件事,那么它很可能会很小。

技巧4:开闭原则
开闭原则 (OCP) 规定类、方法或函数必须对扩展开放,但不能对修改开放。这意味着定义的任何类、方法或函数都可以轻松地重用或扩展用于多个实例,而无需更改其代码。
这不符合 OCP,因为每当有一个新的国家时,我们就需要编写一个新的 if 语句来补充它。现在这可能看起来很简单,但想象一下我们有 100 个或更多的国家/地区需要考虑。看起来怎么样?

提示 5:不惜一切代价避免发表评论
评论有一种虚假的真实性。它们将读者的注意力从代码实际执行的操作转移到其他人所说的执行的操作上。

随着时间的推移以及代码收到更新或更改,这可能会变得非常成问题。在某些时候,评论会变成谎言,现在每个人都必须通过谎言的镜头来观察真相。

必须不惜一切代价避免发表评论。评论迫使读者继承你的想法,而你的想法充其量只是过去的。当函数或类更改时,它的注释很可能不会随之更改。最有可能的是,它们阻碍了读者向前思考。

注释表明作者精神上无法提供描述性良好的类、函数或变量名称。它暴露了程序员平庸的态度,并迫使团队继承这样的态度。

提示 6:避免使用幻数
幻数是一个硬编码值,可能会在稍后阶段发生变化,但因此很难更新。

例如,假设您有一个页面在“您的订单”概览页面中显示最后 50 个订单。 50 是这里的神奇数字,因为它不是通过标准或约定设置的,它是您出于规范中概述的原因而编造的数字。

现在,您要做的就是在不同的地方拥有这 50 个订单 - 您的 SQL 脚本(从订单中选择前 50 个 *)、您的网站(您的最后 50 个订单)、您的订单登录信息(对于 (i = 0; i

提示 7:避免深层嵌套
限制循环、条件或函数内的嵌套级别以提高可读性。

提示 8:避免硬编码路径
避免对文件路径或 URL 进行硬编码;请改用配置文件或环境变量。

提示9:小班授课
是的!班级规模应尽可能小。就像函数一样。

唯一的区别是,在函数中,大小由该函数中的行数决定,而在类中,大小由该类中的职责数量决定。

通常,类名代表它可能拥有的职责类型,但是当名称不明确或过于笼统时,很可能我们赋予了它太多的职责。

这让我们回到了 SRP(单一责任原则),它规定一个类应该只有一个理由——一个责任——来改变。

提示 10:避免复杂的三元表达式
避免使用过于复杂的三元表达式;优先考虑可读性而不是简洁性,以使代码更容易理解。

以上是成为更好的编码员:提示的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Java仍然是基于新功能的好语言吗?Java仍然是基于新功能的好语言吗?May 12, 2025 am 12:12 AM

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

是什么使Java很棒?关键特征和好处是什么使Java很棒?关键特征和好处May 12, 2025 am 12:11 AM

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

前5个Java功能:示例和解释前5个Java功能:示例和解释May 12, 2025 am 12:09 AM

Java的五大特色是多态性、Lambda表达式、StreamsAPI、泛型和异常处理。1.多态性让不同类的对象可以作为共同基类的对象使用。2.Lambda表达式使代码更简洁,特别适合处理集合和流。3.StreamsAPI高效处理大数据集,支持声明式操作。4.泛型提供类型安全和重用性,编译时捕获类型错误。5.异常处理帮助优雅处理错误,编写可靠软件。

Java的最高功能如何影响性能和可伸缩性?Java的最高功能如何影响性能和可伸缩性?May 12, 2025 am 12:08 AM

java'stopfeatureSnificallyEnhanceItsperFormanCeanDscalability.1)对象 - 方向 - incipleslike-polymormormormormormormormormormormormormorableablefleandibleandscalablecode.2)garbageCollectionAutoctionAutoctionAutoctionAutoctionAutoctionautomorymanatesmemorymanateMmanateMmanateMmanagementButCancausElatenceiss.3)

JVM内部:深入Java虚拟机JVM内部:深入Java虚拟机May 12, 2025 am 12:07 AM

JVM的核心组件包括ClassLoader、RuntimeDataArea和ExecutionEngine。1)ClassLoader负责加载、链接和初始化类和接口。2)RuntimeDataArea包含MethodArea、Heap、Stack、PCRegister和NativeMethodStacks。3)ExecutionEngine由Interpreter、JITCompiler和GarbageCollector组成,负责bytecode的执行和优化。

什么是使Java安全安全的功能?什么是使Java安全安全的功能?May 11, 2025 am 12:07 AM

Java'ssafetyandsecurityarebolsteredby:1)strongtyping,whichpreventstype-relatederrors;2)automaticmemorymanagementviagarbagecollection,reducingmemory-relatedvulnerabilities;3)sandboxing,isolatingcodefromthesystem;and4)robustexceptionhandling,ensuringgr

必不可少的Java功能:增强您的编码技巧必不可少的Java功能:增强您的编码技巧May 11, 2025 am 12:07 AM

javaoffersseveralkeyfeaturesthatenhancecodingskills:1)对象 - 方向 - 方向上的贝利奥洛夫夫人 - 启动worldentities

JVM最完整的指南JVM最完整的指南May 11, 2025 am 12:06 AM

thejvmisacrucialcomponentthatrunsjavacodebytranslatingitolachine特定建筑,影响性能,安全性和便携性。1)theclassloaderloader,links andinitializesClasses.2)executionEccutionEngineExecutionEngineExecutionEngineExecuteByteCuteByteCuteByteCuteBytecuteBytecuteByteCuteByteCuteByteCuteBytecuteByteCodeNinstRonctientions.3)Memo.3)Memo

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!