音乐分享网站开发什么是wordpress响应式主题

news/2025/10/4 5:04:16/文章来源:
音乐分享网站开发,什么是wordpress响应式主题,合肥网站营销,网页设计实验报告分析与体会阿里妹导读#xff1a;你有没有遇到过这种情况#xff1a;过几周或者几个月之后#xff0c;再看到自己写的代码#xff0c;感觉一团糟#xff0c;不禁怀疑人生#xff1f;我们每天都与代码打交道#xff0c;但当被问道什么是好的代码时#xff0c;很多人可能会先愣一下… 阿里妹导读你有没有遇到过这种情况过几周或者几个月之后再看到自己写的代码感觉一团糟不禁怀疑人生我们每天都与代码打交道但当被问道什么是好的代码时很多人可能会先愣一下然后给出的回答要么比较空泛要么比较散没办法简单明了地概括出来。今天我们就来说什么是好的代码 一句话概括 衡量代码质量的唯一有效标准WTF/min —— Robert C. Martin Bob大叔对于好代码的理解非常有趣对我也有很大的启发。我们编写的代码除了用于机器执行产生我们预期的效果以外更多的时候是给人读的这个读代码的可能是后来的维护人员更多时候是一段时间后的作者本人。 我敢打赌每个人都遇到过这样的情况过几周或者几个月之后再看到自己写的代码感觉一团糟不禁怀疑人生。 我们自己写的代码一段时间后自己看尚且如此更别提拿给别人看了。 任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码才是优秀的程序员。 —— Martin Fowler 所以谈到好代码首先跳入自己脑子里的一个词就是整洁。好的代码一定是整洁的给阅读的人一种如沐春风赏心悦目的感觉。 整洁的代码如同优美的散文。 —— Grady Booch 好代码的特性 很难给好的代码下一个定义相信很多人跟我一样不会认为整洁的代码就一定是好代码但好代码一定是整洁的整洁是好代码的必要条件。整洁的代码一定是高内聚低耦合的也一定是可读性强、易维护的。 高内聚低耦合 高内聚低耦合几乎是每个程序员员都会挂在嘴边的但这个词太过于宽泛太过于正确所以聪明的编程人员们提出了若干面向对象设计原则来衡量代码的优劣 开闭原则OCP (The Open-Close Principle)单一职责原则SRP (Single Responsibility Principle)依赖倒置原则DIP (Dependence Inversion Principle)最少知识原则LKP (Least Knowledge Principle)) / 迪米特法则 (Law Of Demeter)里氏替换原则LSP (Liskov Substitution Principle)接口隔离原则ISP (Interface Segregation Principle)组合/聚合复用原则CARP (Composite/Aggregate Reuse Principle) 这些原则想必大家都很熟悉了是我们编写代码时的指导方针按照这些原则开发的代码具有高内聚低耦合的特性。换句话说我们可以用这些原则来衡量代码的优劣。 但这些原则并不是死板的教条我们也经常会因为其他的权衡例如可读性、复杂度等违背或者放弃一些原则。比如子类拥有特性的方法时我们很可能打破里氏替换原则。再比如单一职责原则跟接口隔离原则有时候是冲突的我们通常会舍弃接口隔离原则保持单一职责。只要打破原则的理由足够充分也并不见得是坏的代码。 可读性 代码只要具有了高内聚和低耦合就足够好了吗并不见得我认为代码还必须是易读的。好的代码无论是风格、结构还是设计上都应该是可读性很强的。可以从以下几个方面考虑整洁代码提高可读性。 | 命名 大到项目名、包名、类名小到方法名、变量名、参数名甚至是一个临时变量的名称其命名都是很严肃的事好的名字需要斟酌。名副其实好的名称一定是名副其实的不需要注释解释即可明白其含义的。 /** * 创建后的天数 **/ int d; int daysSinceCreation; 后者比前者的命名要好很多阅读者一下子就明白了变量的意思。 容易区分我们很容易就会写下非常相近的方法名仅从名称无法区分两者到底有啥区别eg. getAccount()与getAccountInfo()这样在调用时也很难抉择要用哪个需要去看实现的代码才能确定。 可读的名称一定是可读的易读的最好不要用自创的缩写或者中英文混写。 足够短名称当然不是越长越好应该在足够表达其含义的情况下越短越好。 | 格式 良好的代码格式也是提高可读性非常重要的一环分为垂直格式和水平格式。 垂直格式通常一行只写一个表达式或者子句。一组代码代表一个完整的思路不同组的代码中间用空行间隔。 public class Demo { Resource private ListHandler handlerList; private MapTypeEnum, Handler handlerMap new ConcurrentHashMap();PostConstruct private void init() { if (!CollectionUtils.isEmpty(handlerList)) { for (Handler handler : handlerList) {handlerMap.put(handler.getType(), handler);}}}public ResultMapString, Object query(Long id, TypeEnum typeEnum) {Handler handler handlerMap.get(typeEnum); if (null handler) { return Result.returnFailed(ErrorCode.CAN_NOT_HANDLE);} return handler.query(id);} } 如果去掉了空行可读性大大降低 public class Demo { Resource private ListHandler handlerList; private MapTypeEnum, Handler handlerMap new ConcurrentHashMap(); PostConstruct private void init() { if (!CollectionUtils.isEmpty(handlerList)) { for (Handler handler : handlerList) {handlerMap.put(handler.getType(), handler); } } } public ResultMapString, Object query(Long id, TypeEnum typeEnum) {Handler handler handlerMap.get(typeEnum); if (null handler) { return Result.returnFailed(ErrorCode.CAN_NOT_HANDLE);} return handler.query(id); } } 类静态变量、实体变量应定义在类的顶部。类内方法定义顺序依次是公有方法或保护方法 私有方法 getter/setter方法。 水平格式要有适当的缩进和空格。 团队统一通常同一个团队的风格尽量保持一致。集团对于Java开发进行了非常详细的规范。 | 类与函数 类和函数应短小更短小类和函数都不应该过长集团要求函数长度最多不能超过80行过长的函数可读性一定差往往也包含了大量重复的代码。 函数只做一件事同一层次的事同一个函数的每条执行语句应该是统一层次的抽象。例如我们经常会写一个函数需要给某个DTO赋值然后再调用接口接着返回结果。那么这个函数应该包含三步DTO赋值调用接口处理结果。如果函数中还包含了DTO赋值的具体操作那么说明此函数的执行语句并不是在同一层次的抽象。 参数越少越好参数越多的函数调用时越麻烦。尽量保持参数数量足够少最好是没有。 | 注释 别给糟糕的代码加注释重构他注释不能美化糟糕的代码。当企图使用注释前先考虑是否可以通过调整结构命名等操作消除写注释的必要往往这样做之后注释就多余了。 好的注释提供信息、表达意图、阐释、警告我们经常遇到这样的情况注释写的代码执行逻辑与实际代码的逻辑并不符合。大多数时候都是因为代码变化了而注释并没有跟进变化。所以注释最好提供一些代码没有的额外信息展示自己的设计意图而不是写具体如何实现。 删除掉注释的代码git等版本控制已经帮我们记录了代码的变更历史没必要继续留着过时的代码注释的代码也会对阅读等造成干扰。 | 错误处理 错误处理很重要但他不能搞乱代码逻辑错误处理应该集中在同一层处理并且错误处理的函数最好不包含其他的业务逻辑代码只需要处理错误信息即可。 抛出异常时提供足够多的环境和说明方便排查问题异常抛出时最好将执行的类名关键数据环境信息等均抛出此时自定义的异常类就派上用场了通过统一的一层处理异常可以方便快速地定位到问题。 特例模型可消除异常控制或者null判断大多数的异常都是来源于NPE有时候这个可以通过Null Object来消除掉。 尽量不要返回null不要传null参数不返回null和不传null也是为了尽量降低NPE的可能性。 如何判断不是好的代码 讨论了好代码的必要条件我们再来看看好代码的否定条件什么不是好的代码。 Kent Beck使用味道来形容重构的时机我认为当代码有坏味道的时候也代表了其并不是好的代码。 代码的坏味道 重复可能是软件中一切邪恶的根源。 —— Robert C.Martin 重复Martin Fowler也认为坏味道中首当其冲的就是重复代码。很多时候当我们消除了重复代码之后发现代码就已经比原来整洁多了。 函数过长、类过大、参数过长过长的函数解释能力、共享能力、选择能力都较差也不易维护。 过大的类代表了类做了很多事情也常常有过多的重复代码。 参数过长不易理解调用时也容易出错。 发散式变化、霰弹式修改、依恋情结如果一个类不是单一职责的则不同的变化可能都需要修改这个类说明存在发散式变化应考虑将不同的变化分离开。 如果某个变化需要修改多个类的方法则说明存在霰弹式修改应考虑将这些需要修改的方法放入同一个类。 如果函数对于某个类的兴趣高于了自己所处的类说明存在依恋情结应考虑将函数转移到他应有的类中。 数据泥团有时候会发现三四个相同的字段在多个类和函数中均出现这时候说明有必要给这一组字段建立一个类将其封装起来。 过多的if...else 或者使用switch过多的if...else或者switch都应该考虑用多态来替换掉。甚至有些人认为除个别情况外代码中就不应该存在if...else。 总结 本文首先一句话概括了我认为的好代码的必要条件整洁接着具体分析了整洁代码的特点又分析了好代码的否定条件什么样的代码不是好的代码。仅是本人的一些见解希望对各位以后的编程有些许的帮助。 我认为仅仅编写出可运行的代码是远远不够的还要时刻注意代码的整洁度留下一些漂亮的代码。 原文链接 本文为云栖社区原创内容未经允许不得转载。

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

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

相关文章

用于做网站的软件腾讯企业邮箱app下载

MR混合现实情景实训教学系统是一种将虚拟现实(VR)、增强现实(AR)相结合的先进技术。在法律教学课堂上,MR教学系统为学生模拟模拟法庭、案例分析等多种形式,让学生在实践中掌握法律知识,提高法律…

免费投资办厂长沙seo

From: http://canofy.iteye.com/blog/298263 python类型转换 Java代码 函数 描述 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]…

网站清除数据库抖音官网链接网站怎么做

文章目录 一、信息安全的基础-机密性1 相关概念2 对称加密和非对称加密 二、身份认证三 摘要算法四、数字签名五、数字证书结语 在支付过程中,设计多方的敏感信息,那么安全尤为重要。下面先简单介绍下,相关概念。 一、信息安全的基础-机密性 …

建设银行短信带网站北京高端网站建设费用

在产品管理的世界里,产品就像有生命的个体,经历着从诞生到消亡的过程。作为产品经理,深刻理解产品的四个生命周期 —— 引入期、成长期、成熟期和衰退期,是打造成功产品的关键。 引入期:破局的起点 对于 B 端产品而言&…

湖南长沙网站建设公司广州微信网站建设如何

Lobe Chat可以关联多个模型,可以调用外部OpenAI, gemini,通义千问等, 也可以关联内部本地大模型Ollama, 可以当作聊天对话框消息框来集成使用 安装方法参考: https://github.com/lobehub/lobe-chat https://lobehub.com/zh/docs/self-hosting/platform/…

做网站被骗该咋样做网络营销公

【题目描述】 用递归函数输出斐波那契数列第n项。0,1,1,2,3,5,8,13…… 【输入】 一个正整数n,表示第n项。 【输出】 第n项是多少。 【输入样例】 3 【输出样例】 1 代码实现 /*斐波那契*/ int fbnq(i…

甜品店网站开发背景网站的折线图怎么做

一、turtle库概述: turtle(海龟)库是turtle绘图体系python的实现; turtle绘图体系:1969年诞生,主要用于程序设计入门; turtle库是python的标准库之一;属于入门级的图形绘制函数库&am…

公司注册网站需要什么条件wordpress 主题使用教程

J2SE 5为Java编程语言引入了许多功能。 这些功能之一是自动装箱和拆箱 ,这是我几乎每天都没有考虑过的功能。 它通常很方便(尤其是与收藏夹一起使用时),但有时会导致一些令人讨厌的惊喜 ,即“ 怪异 ”和“ 疯狂” 。 在…

做网站加入视频无法播放百度平台营销软件

1丶问题描述 2丶解决方案 解决方案: 找到挂载到宿主机配置文件:gitlab.rb vi gitlab.rb 改成自己的ip 重启容器 docker restart gitlab 如果发现容器一直重启,可采用粗暴的方法,直接干掉当前容器,重新运行一个 …

房地产公司网站下载桂林市临桂区

目录 vector的使用 vector的定义 vector iterator的使用 vector空间增长问题 vector增删查改 vector深度剖析及模拟实现 vector核心接口模拟实现 使用memcpy拷贝问题 迭代器失效问题 vector的使用 vector的定义 C中,vector是一个模版,第一个参…

国学网站源码泰州网站建设工作

题目描述 公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只,用m文钱买m只鸡,公鸡、母鸡、小鸡各买多少只? 输入 一个正整数m。 输出 若有解只输出一个解,即公鸡数量最少的那个解;若无解输出“No a…

网站建设的售后服务文化建设的例子

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 安装插件 npm install hexo-include-markdown --save 创建模板目录 source/_template 创建模板 source/_template/tj.md 配置_config.y…

现在做网站开发长春网络公司排名

本文主要以python2为例。首先介绍一下Python头文件的编程风格,然后再给大家详细介绍import部分的基本用法。这两个部分就是Python中头文件的组成模块。编程风格#!/usr/bin/env python #在文件头部 ( 第一行 ) 加上 设置 Python 解释器 # -*- coding: utf-8 -*- #在文…

特微网站首页网络管理系统中管理对象

现在的情况是我扒到了一个开源的项目,现在想要实现一下前端对应的功能,后端是完备的,但是需要调用数据库将数据跑起来,这里可以使用到MySql数据库,这里我还发现了一个比较好用的软件小皮【phpStudy】 官网 一 安装软件…

微信网站推广蓝海国际版网站建设

英文原文:Books Programmers Claim to Have Read 马克吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。 在 Stack Overflow (以及其它很多软件论坛)上&…

建设内部网站目的网站建设-丹东

环境 buildroot 问题 在buildroot路径下执行 make linux-rebuild 出现了Restart config… 的问题 原因 我在修改linux源码的时候,在没有指定ARCH架构的情况下, 直接去linux源码目录(output/build/linux/)下执行了 make menuconfig并覆盖了原来的.c…

d代码做网站wordpress 开启维护

目录 1. 题目:2. 斐波那契数列:小结: 1. 题目: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是&#xff1a…

有彩虹代刷源码怎么做网站学做网站要学多久

computer-hardware~计算机硬件motherboard~主板cpu(central~processor~unit)-中央处理器memory-存储器,内存条monitor~显示器mouse~鼠标keyboard~键盘peripheral-外部设备printer~打印机scanner~扫描仪speaker~音响RAM(Random access memory)随机存储器hard~disk 硬…

湖北省建设厅乡镇污水官方网站介绍自己的做的网站吗

左右眼图片 需求 需要将左右眼图像利用视差生成三维点云数据 先问问chatGPT相关知识 进一步问有没有现成的软件 chatGPT提到了OpenCV,我们让chatGPT用OpenCV写一个程序来做这个事情 当然,代码里面会有一些错误,chatGPT写的代码并不会做模…