草庐IT

代码坏味道:不合理命名与重复代码

一.命名1.1命名是否具有业务含义(1)命名不精准,用词宽泛,不能有效反应代码含义从沟通的角度看,这就不是一个有效的沟通。要想理解它,需要消耗大量的认知成本,时间和精力,同样也增加了后来人包括我们自己维护代码的成本。其中,Info、data、flag、process、handler、build、maintain、manager、modify等,都是属于典型的过于宽泛的名字,当这些名字出现的地方,多半都是写代码的人当时没有想好用什么名字。命名要能够描述出这段代码在做的事情,好的名字应该描述意图,而非细节。命名演化示例:processChapter:处理章节,命名宽泛changeChapterTo

在iPhone 15发布之前,iPhone在智能手机出货量上占据主导地位,这对安卓来说是个坏消息

可以说这是一记重拳,但似乎没有一个有价值的竞争者能与苹果今年迄今为止的智能手机出货量相媲美。事实上,根据Omdia智能手机型号市场跟踪机构收集的数据,苹果的iPhone占据了前四名。位居榜首的是iPhone14ProMax,2023年上半年出货量约为2650万部,成为出货量最大的智能手机。更令人惊讶的是,苹果占据了榜单的前四位。这些估计对该公司即将于9月12日发布的iPhone15来说是个好兆头。考虑到今年这批iPhone的兴奋和热议,有传言称它们将提供多年来最大的升级,看看2023年下半年会发生什么将是一件有趣的事情。苹果在榜单上占据主导地位,并轻松击退了安卓领域最激烈的竞争对手。考虑到去年

java - 默认为空 lambda 比检查可能为 null 的 lambda 好还是坏?

我正在使用Java8实现一个小型场景图。基本场景节点看起来像这样:publicclassSceneNode{privatefinalListchildren=newArrayList();protectedRunnablepreRender;protectedRunnablepostRender;protectedRunnablerender;publicfinalvoidrender(){preRender.run();render.run();for(Renderablechild:children){child.render();}postRender.run();}}如果Run

java - 线程闲置 = 坏?

我想在一个小型机器集群(尽可能小)上支持大约10,000个并发HTTP客户端。我想在用户使用应用程序时与每个客户端保持连接,以允许服务器推送更新。我相信异步IO通常被推荐用于这些类型的长期连接,以避免有大量线程闲置。但是让线程闲置有什么问题呢?我发现线程模型在精神上更容易使用,但我不想做一些会让我头疼的事情。我想我将不得不进行实验,但我想知道是否有人知道以前按照这些思路进行的任何实验? 最佳答案 异步​​I/O基本上意味着您的应用程序执行大部分线程调度。不是让操作系统随机挂起你的线程并安排另一个线程,你只有与CPU内核一样多的线程,

java - 使用 Runnable 作为回调/子程序的坏习惯?

使用Runnable作为回调是否被认为是不好的做法?考虑到Runnable是要与线程一起使用(请参阅JavaDoc),我想知道这是否可以-或者我是否应该为此目的创建自己的界面。我说的是这样的:publicclassKeyBinding{publicKeyBinding(KeyStrokestroke,Runnablehandler){//...}} 最佳答案 不要使用Runnable作为回调;它可能会引起混淆:人们和代码质量工具有时希望它仅与线程一起使用。我自己使用Runnable作为回调——我认为它似乎非常适合用作通用回调。一个月

java - 为什么在 Java 中使用类作为结构的坏习惯?

我们最近进行了一次代码审查。使用了我的一个类,以便我可以从/向方法返回/传递不止一种类型的数据。该类唯一的方法是getters/setters。团队的一位成员(我尊重他的意见)说,开设这样的类(class)是不好的做法(而且不是很OOP)。这是为什么? 最佳答案 有一种观点认为类应该是“数据结构”(即专注于存储没有功能的数据)或“面向功能”(即专注于执行某些操作同时存储最小状态)。如果您遵循该论点(这是有道理的,但并不总是那么容易做到),那么这不一定有错。事实上,有人会争辩说bean和实体bean本质上是-具有getter和sett

程序员的这10个坏习惯,你中了几个?超过一半要小心了

前言一些持续关注过我的朋友大部分都来源于我的一些资源分享和一篇万字泣血斩副业的劝诫文,但今年年后开始我有将近4个月没有再更新过。有加过我好友的朋友私聊我问过,有些回复了有些没回复。想通过这篇文章顺便说明一下个人的情况,主要是给大家的一些中肯的建议。我的身体今年年前公司福利发放的每人一次免费体检,我查出了高密度脂蛋白偏低,因为其他项大体正常,当时也没有太在意。但过完年后的第一个月,我有一次下午上班忽然眩晕,然后犯恶心,浑身发软冒冷汗,持续了好一阵才消停。当时我第一感觉就是颈椎出问题了?毕竟这是程序员常见的职业病。然后在妻子陪伴下去医院的神经内科检查了,结果一切正常。然后又去拍了片子看颈椎什么问题

python - 在运行时创建 Python 类的最不坏方法是什么?

我正在使用一个接受类作为输入的ORM,我需要能够为其提供一些动态生成的类。目前,我正在做类似这个人为示例的事情:defmake_cls(_param):defCls(object):param=_paramreturnClsA,B=map(make_cls,['A','B'])printA().fooprintB().foo虽然这工作正常,但感觉有点不对劲:例如,两个类都打印为在回复上。虽然名称问题不是什么大问题(我想我可以通过设置__name__来解决它),但我想知道是否还有其他我不知道的事情。所以我的问题是:是否有更好的方法来动态创建类,或者我的示例已经基本没问题了?

“坏邻居”导致的kafka生产者TPS下降原因排查

背景:今天测试了两种不同的场景下kafkaproducer的tps性能数据,两种场景下都是使用3个线程,每个线程都是对应一个kafkaproducer,测试发送到kafka集群的消息的量,两个场景的区别是场景A只发送kafka消息,场景B是除了发送kafka消息之外,还使用logback记录日志(异步模式),但是得到的发送到kafka集群的消息的量相差较大,大概20%,本文就记录下造成kafka消息发送的tps相差较大的原因追查原因:一.还原下测试场景首先说明下场景A和场景B的压测环境,服务器:两个场景都是使用12核12G的容器进行测试的消息大小:两个场景使用的消息大小都是1k,logback

html - 我如何设置带有图像的单选按钮样式 - 笑脸表示好,悲伤笑脸表示坏?

我想为用户反馈创建一个HTML表单。如果总体反馈好,用户应该点击一个笑脸,如果总体反馈不好,用户应该选择一个悲伤的笑脸。我认为这应该使用单选按钮来完成,使用笑脸而不是单选按钮。也许我错了......你知道我怎样才能做到这一点吗?谢谢! 最佳答案 让我们保持简单,好吗?首先,使用纯HTML+CSS:如果没有JavaScript,这会很好地降级。使用id和for属性将label和radiobutton联系起来,这样当图片被选中时,对应的radiobutton就会被填充。这很重要,因为我们需要使用JavaScript隐藏实际的单选按钮。现