首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

聊一聊过度设计!

@TOC   新手程序员在做设计时,因为缺乏经验,很容易写出欠设计的代码,但有一些经验的程序员,尤其是在刚学习过设计模式之后,很容易写出过度设计的代码,而这种代码比新手程序员的代码更可怕,过度设计的代码不仅写出来时的成本很高...因为相对于毫无设计的代码,过度设计的代码有比较高的理解成本。说这么多,到底什么是过度设计? 什么是过度设计?   ...在你解决“拧螺丝”问题的时候,重心早已从解决问题转变为搞一个工具,这就是过度设计。...回到我们原始的需求上来看,如果我们只是需要实现两个整数的加减乘除,这明显过度设计了。 过度设计的坏处   个人总结过度设计有两大坏处,首先就是前期的设计和开发的成本问题。...过度设计也会出现类似的现象,就是缺少通用性,在面对稍有差异的需求上时可能就需要伤筋动骨级别的改造了。 如何避免过度设计   既然过度设计有着成本高和欠灵活的问题,那如何避免过度设计呢!

63310

过度设计的问题

这是学习笔记的第 2069 篇文章 前几天碰到了一个严重的硬件问题导致服务受到影响,我在总结思考的时候,脑袋里冒出了一个观点:过度设计。...从技术上来说是可行的,但是现在的资源使用已经远远不是早期的状态,业务压力和需求增加都是近10倍的增长,所以在这种情况下,如果节点漂移之后,某一个服务器的资源负载会有显著的提升,而在批量计算的过程中一旦因为资源的过度使用而导致集群节点再次出现问题...我想了下我们工作中存在很多的过度设计问题,如果细数一下这个过程,可以从功能,性能,可用性这个阶段来说,而归根结底是基于成本,即最小的成本获得最高的收益,这个收益绝非是简单的性能。...早期的业务为了满足功能而做一些妥协或者是定制化的设计实现,主要是面向业务视角,而满足了业务需求之后,发现很多潜在的问题暴露出来,于是会集中精力去灭火,是典型的先污染后治理的思路,而性能设计的过程中成本意识会更多向资源成本方面倾斜,而过度倾斜就会是上面的这种情况...常见的过度设计有 1.集群规模过大,但是使用率不高 2.单机多实例设计过度,导致业务难以恢复 3.数据分片过度 ?

42830

”交网络

这里的指兴趣、动机,而友则是指真实好友关系。基于真实好友关系的社交网络正在衰落。尤其是中国的单纯基于真实关系的社交网络。...而“共同话题、兴趣爱好”就是社交网络中的“”。 国内的人人网永远跳不出校园的圈子,很大程度是因为人人网是“重友轻色”的。人人网的好友关系和互动,不是基于话题兴趣的,而是基于学校这个属性。...这就需要社交活动有“”的因素。所谓的,是指兴趣、动机等,而不是实际生活中的人际关系。 Facebook加入了很多基于兴趣的属性,比如标签,促进圈子文化的形成。...这样,Facebook就增加了一些“”的成分。这是人人网的短板。虽然人人网有跟进,但人人网的思维一直停留在基于学校或者公司的层面进行好友关系的建立。...但要命的是,基于公司、学校甚至家庭的真实的关系,是远离“兴趣”这一个“”的。家人、同学、同事的兴趣爱好都会大不相同。 真实的关系是随着人的成长在迁徙的。

1.6K70

APP性能测试—过度绘制

过度绘制最直观的影响就是会导致APP卡顿。 Android 过度绘制测试 开启过度绘制检测 点击设置-开发者选项。 点击调试GPU过度绘制 选择调试GPU过度绘制区域 ?...过度绘制展示 原色:无过渡绘制 蓝色:绘制一次 (正常) 绿色:绘制二次 (轻微) 浅红:绘制三次 (中度) 深红:绘制四次 (严重) 一般来说不允许存在4x过度绘制,不允许存在面积超过屏幕1/4浅红或深红色区域...如何优化过度绘制 移除布局中不需要的背景 默认情况下,布局没有背景,这表示布局本身不会直接渲染任何内容。但是,当布局具有背景时,其有可能会导致过度绘制。 移除不必要的背景可以快速提高渲染性能。...降低透明度 在屏幕上渲染透明像素,即所谓的透明度渲染,是导致过度绘制的重要因素。...诸如透明动画、淡出和阴影之类的视觉效果都会涉及某种透明度,因此有可能导致严重的过度绘制。您可以通过减少要渲染的透明对象的数量,来改善这些情况下的过度绘制。

2.8K21
领券