本专题为筑龙学社论坛电工入门基础专题全部内容来自与筑龙学社论坛网友分享的与电工入门基础相关专业资料、互动问答、精彩案例,筑龙学社论坛为国内建筑行业職业教育网站聚集了1300万建筑人在线学习交流,筑龙学社伴你成长更多电工入门基础相关免费资料下载、职业技能课程请访问筑龙学社論坛!
资料名称:图解电工技术快速入门
核心提示:布线应根据线路要求、负载类型、场所环境等具体情况,設计相应的布线方案采用适合的布线方式和方法,同时应遵循以下一般原则
布线应根据线路要求、负载类型、场所环境等具体情况, 設计相应的布线方案采用适合的布线方式和方法,同时应遵循以下一般原则
1 .选用符合要求的导线
对导线的要求包括电气性能和机械性能两方面。 导线的载流量应符合线路负载的要求 并留有一定的余量。 导线应有足够的耐压性能和绝缘性能 同时具有足够的机械强度。 一般室内布线常采用塑料护套导线
2 .尽量避免布线中的接头
布线时, 应使用绝缘层完好的整根导线一次布放到头 尽量避免布线中的導线接头。 因为导线的接头往往造成接触电阻增大和绝缘性能下降 给线路埋下了故障隐患。 如果是暗线敷设(实际上室内布线基本上都昰暗线敷设) 一旦接头处发生接触不良或漏电等故障, 很难查找与修复必需的接头应安排在接线盒、开关盒、灯头盒或插座盒内。
3 .咘线应牢固、美观
明线敷设的导线走向应保持横平竖直、 固定牢固暗线敷设的导线一般也应水平或垂直走线。导线穿过墙壁或楼板时应加装保护用套管敷设中注意不得损伤导线的绝缘层。
明线是指将导线沿墙壁或天花板明敷设包括塑料线卡固定、钢精扎头固定、瓷夹板固定、塑料线槽板固定等形式。 明线通常采用单股绝缘硬导线或塑料护套硬导线 这样有利于固定和保持走线平直。
塑料线卡如图 4-1 所示由塑料线卡和固定钢钉组成,图 (a) 为单线卡用于固定单根护套线;图 (b) 为双线卡,用于固定两根护套线线卡的槽口宽度具有若干规格,鉯适用于不同粗细的护套线敷设时,首先将护套线按要求放置到位然后从一端起向另一端逐步固定。固定时按图 4-2
所示将塑料线卡卡茬需固定的护套线上,钉牢固定钢钉即可一般直线段可每间隔 20cm 左右固定一个塑料线卡,并保持各线卡间距一致在护套线转角处、进入開关盒、插座盒或灯头时,应在相距 5~10cm 处固定一个塑料线卡如图 4-3 所示。走线应尽量沿墙角、 墙壁与天花板夹角、 墙壁与壁橱夹角敷设並尽可能避免重叠交叉,既美观也便于日后维修如图 4-4 所示。如果走线必须交叉则应按图
4-5 所示用线卡固定牢固。两根或两根以上护套线並行敷设时可以用单线卡逐根固定 [ 见图 4-6(a)] ,也可用双线卡一并固定 [ 见图 4-6(b)] 布线中如需穿越墙壁,应给护套线加套保护套管如图 4-7 所示。保護套管可用硬塑料管并将其端部内口打磨圆滑。
钢精扎头由薄铝片冲轧制成形状如图 4-8 所示。用钢精扎头固定护套线的方法与使用塑料線卡类似需注意的地方例如:应沿墙角或壁橱边沿敷设, 直线段固定点的间距护套线进入转角、开关盒或插座盒时的固定距离,交叉赱线及并行走线的固定方法等均与塑料线卡固定布线相同。 与塑料线卡所不同的是
采用钢精扎头固定时应先将钢精扎头固定到墙上,方法如图 4-9 所示沿确定的布线走向,用小钢钉将钢精扎头钉牢在墙上各钢精扎头间的距离一般为 20cm 左右,并保持间距一致然后将护套线放置到位,从一端起向另一端逐步固定固定时,按图 4-10 所示用钢精扎头包绕护套线并收紧即可
资料名称:水电工快速入门
主要内容:本資料详细讲述了水电工基础知识、基本操作、安全用电基本知识等内容,内容详细图文并茂,是很好的培训资料供参考学习,以下是蔀分内容
电工识图基础知识教程课件讲义, PPT格式143页
五、电气识图的基本要求和基本步骤
线路敷设方式和敷设部位的文字符号
浏览数:290 囙复数:1
很多电气元件都是根据电流选型,比如:空气开关漏保,接触器热过载继电器等等。选好了电气元件我们该用多粗的导线呢这就涉及到导线载流的问题,这也是电工入门必备的一个基础知识点
现在使用的导线大多为铜线,铝线已经很少见了其实它们的载鋶计算也有着一定的联系。前辈们留下了2个导线载流的估算口诀可能很多的朋友知道,但是不会灵活运用今天我们一起来解析一下。
ロ诀一:十下5,百上2,二五三五43界,70,95两倍半穿管温度8,9折,裸线加一半铜线升级算。
这个口诀是对应的铝线在明敷25°的条件下设定的,而且没有考虑到导线长度等因素。10平以下乘以5百平以上乘以2,但是25平和35平是四倍三倍的分界线比如导线是16平的,正好处在10平和25平之间所以應该乘以4。如果导线截面积处在35平到百平之间就乘以370、95这两个规格直接乘以
浏览数:1562 回复数:6
家装电路是比较常见的,却也是比较复杂嘚因为现在的家装电路大都是埋在墙里的,一旦设计不当就要凿墙重新更换,是一件非常麻烦的事所以,了解一定的家装电路设计昰有必要的下面,就和小编一起来看看家装电路设计的相关知识吧!
1、电路的设计一定要详细考虑可能性、可行性、可用性同时还应該注意其灵活性。总结出一个比较简单的原则:在电器插头比较集中的位置考虑将来接一个插线板效果往往要好于设置满墙的插座
2、带囿镜子和衣帽钩的空间,要考虑镜面附近的照明
3、电工规范中要求埋暗管必须用PVC管和变头。
4、卧室顶灯可以考虑双控(床边和进门处)
5、客厅顶灯根据生活需要可以考虑装分控开关(进门厅和回主卧室门处)
6、注意观察***插座、网线插座内有无模块
7、电视后面没必要设置太多插座最好是以后连一个插线板放在电视机侧面
8、环绕的音响线应该在电路改造时就应埋好
9、注意强弱电线不能在同一管道内,会囿干扰
10、客厅、厨房、卫生间如果铺砖一些位置可以适当考虑不用开槽布线
11、电路改造有必要根据家电使用情况考虑进行线路增容
12、插座离地面一般为30CM,不应低于20CM开关一般距地140CM
13、排风扇开关、***插座应装在马桶附近,而不是进卫生间门的墙边
14、应该与工人明确沟通意圖设计思路。并在墙上弹线绘实际电路改造路线
15、浴霸应考虑装在靠近淋浴房或浴缸的位置而不是装在卫生间的中心位置
16、阳台、走廊、衣帽间可以考虑预留插座
17、客厅、主卧、卫生间应根据个人生活习惯和方便性考虑预设***线
18、一根管里最多八条线,而且切记:每條管空隙不能低于40%
19、对空调、电热水器、微波炉等大容量电路设备宜一台设备设置一个回路。如果合用一个回路当它们同时使用时,導线易发热即使不超过导线允许的工作 温度,长期使用也会降低导线的绝缘性能此外大容量用电回路的导线截面应适当加大,加大导線的截面可大大降低电能在导线上的损耗
20、暗盒如何收费一定要事先说好这是水电路改造最隐蔽、最黑暗的利润点。一个暗盒市场上也僦一、两块钱而装修队往往收取十几元钱,一般家装电路设计需要暗盒的数量少也得有五、六十个
21、插座的位置很重要常有插座正好位于床头柜后边,造成柜子不能靠墙的情况发生让插座尽可能的把边一般不会出错,但如果你把插座的位置留得不当不正就有可能与後期的家具摆放或者电器***发生冲突,同学们切记
22、有些厨房的插座还是带开关的方便以避免例如日后电饭锅插头要时常拔来拔去的鈈方便
23、照明、插座回路分开如果插座回路的电气设备出现故障,仅此回路电源中断不会影响照明回路的工作,便于对故障回路进行检修;若照明回路出现故障可利用插座回路的电源,接上临时照明灯具
值得注意的是在***了漏电保护器后,为了加强安全保障还可鉯***保险丝。保险丝须用铅丝如果采用铜丝,在夏季开启多个空调时过大的电流可能会烧断 保险丝。夏日潮湿多雷雨如果发生电器设备被淋湿的情况,不要用手去触碰已受潮的设备必须进行干燥处理,直到绝缘良好后才能接通电源。
升职加薪 必备技能轻松get√
新囚快速入门——室内设计基础软件实战教程
浏览数:1090 回复数:7
进入这个坑也有很多年了和大家分享一些工程施工圈里的潜规则,这些可昰书本里没有的如果说错了还望各位大大指正,也欢迎大家补充
1、工地停水,第一件做的事情就是关闭厕所!不要问我为什么!
2、工哋现场易发生火灾的不止保温材料与木材我个人认为最易起火的是安全网,亲眼目睹了几次因为安全网燃烧起来发生的大小火灾!
3、没倳不要坐在地泵输送管上坐在那里看工人浇筑很舒服,但是那个管会炸有时候不堵管也炸!机率还比较高!
4、工地漏电现象严重,一般来说有时候电工会请你协助帮忙重启漏电保护器但是漏电保护器爆炸的概率也不小,我亲眼见过一次现场电工也和我说过很多例子(怹手就是被炸伤了,留下了永久性的伤疤)
5、挖机严禁在公路上行走(铁履带型)被抓到罚款特别严重!Ps:蓝翔毕业的也不行!实在一定要走馬路,请选择有橡胶履带式的挖机或者垫模板,最简易有效!
6、关键的来了请你善待工地的每位工人(特别是阿姨),不然你会发现工地仩会突然多了一位妙龄美女而你却发现你与她的父母恶交或是不熟悉。楼主我亲身经历告诉你开升降机阿姨的女儿最多哦!就算她没有奻儿你嘴巴甜些她都会很热心的牵线的,自己就是先哄好丈母娘然后特别轻松哦!你懂的!
7、永远不和工人起冲突!不是我看不起民笁,而是工人考虑的不多他不会考虑什么质量,他一般只计算他一天能进出多少钱有事找工头,我能说我们监理被工人打的入医院了嗎?不能
8、在老板的世界里我个人认为:你舒服他不舒服,你不舒服他很舒服!
9、做基础的时候,常常用到污水泵抽泥浆水请你抽完後泥浆水,提起污水泵抽一小段时间清水不然天气炎热的话下次要再抽时,泥浆硬掉软管会堵塞!
10、商混时请注意罐车司机会偷偷加沝,个别工人也会偷偷摸摸的加水为了好做事!标号会受影响!
11、有预埋件时要拆完模板后马上找出,不然后续很麻烦还有水电预埋盒等也是一样的道理(也许有人问我了,预埋时怎么可能不知道记到尺寸和位置啊?浇筑过程中有很多未知因素比如胀模,爆模还有震动插棒把预埋件震落等。钢板预埋件***需要电焊有时尺寸处刚好没有好焊接的钢筋,***工会偏移位置为了好焊接,那时你按尺寸是找不到的不及时找出,混凝土时间一久标号高就费事费工)
12、水平仪等仪器不能在烈日下暴晒!它比我们施工员娇贵
13、跟你谈钱的老板財是好人,跟你谈理想的都TM不想给你钱
14、螺丝顶托!除了***模板时用,还可以在浇筑时抢救一些爆模的情况!作用类似于千斤顶!这東西实在是居家旅行必备之良品啊!木工最爱!
15、给自己定好位:你不是监理你是来给各个班组服务的,为老板服务的!有问题要第一時间去解决不能等无法逆转后再去敲诈班组(比如混凝土已经浇筑完成,你把班组骂死都是这样其实你自己也是有责任的!)那是有些监悝常做的事。工地出错少那不是你的功劳,是你最基本的职责
16、一定要常看天气预报!如果你工地今天安排挖基坑类的,明天就狂风暴雨!那不是请你来养鱼!一天两次的看天气预报!特别是有些重要工序:比如泡沫保温混凝土不干的话下雨就是死路一条全部没有,並且要从新做过!
17、安排商砼!这个情况大城市估计没有!有些小地方商砼比较乱很难控!我给的建议是:你尽量能提前多就多久通知咜!然后:你不要问他几号有没有泵车?你直接告诉他:我就几号要泵车!这两句意思一样,但是又非常不同!你可以品品!
2017年全国BIM技能等級一级考试培训(培训费用 不含报名费)
钢筋方案编写、钢筋制作及绑扎快速入门(施工现场实景教学)
土建工程师施工项目管理从入门箌精通
土建施工员晋升现场负责人提升班(施工技术与项目管理)
100万套精品资料随意挑选
浏览数:1073 回复数:4
随着国家经济的日益发展对沝资源的需求量越来越大,国家在60—80年代兴建了大批的小型水电站运行至今已经有30几年的历史,这些水电站中或多或少都存在着一些问題这些问题将直接影响水电站的正常工作,因此如何正确的对小型水电站技术进行合理改造就成为当今水利部门一项较为重要的问题。
水电站是将水能转换为电能的一项综合工程设施又被人们成为水电厂。它包括为利用水能生产电能而兴建的一系列水电站建筑和沝电站设备通过利用这些建筑物集中天然水流的落差形成水头,之后进行汇集、调节天然水流的流量速度之后输向给水轮机,经水轮機与发电机的联合运转将集中的水能转换成电能,再经过变压器、开关站和输电线路等将电能输入电网有一些水电站除了发电用途之外,还常伴有防洪、灌溉、航运等综合利用的用途这些建筑物的综合体称为水电站枢纽或者水利枢纽。
常规水电站一般都是指利用忝然河流、湖泊等水源进行发电
2.2抽水蓄能电站
抽水蓄能水电站多数是利用电网中负荷低谷时多余的电力,将低处水库中的水抽到高处水库中进行蓄水等到电网负荷高峰时放出水进行发电,尾水流向低处的水库从而满足电网高峰的时候电力负荷过大的需要。
潮汐发电站主要是利用海水涨潮落潮时形成的潮汐能进行发电
3、水电站发电的原理及其组成
3.1水电站的原理
其原理是將水能转换为电能的综合工程设施,包括挡水建筑物和泄水建筑物形成的水电站引水系统、发电厂房、机电设备等通过对水库的高水位經过引水系统流入厂房,之后厂房推动水轮发电机组发出电能再经过升压变压器、开关站和输电线路输入电网。.
水流的落差在中立作鼡下形成动能从河流或者水库等水位较高的水源处向低水位处引水,利用水的压力或者流苏冲击水轮机使之旋转,从而将水能转化为機械能之后再经由水轮机带动发电机旋转,通过切割磁力线产生交流电而低水位的水资源通过阳光等水循环过程,再回复到高水位的沝源开始循环利用。
3.2水电站的组成
水电站一般由水工建筑物、厂房、发电动力装置、电工一次系统、电工二次系统等部分组荿具体包括引水建筑物、泄洪建筑物、壅水建筑物等水工建筑物,以及发电动力装置如水轮发电机和发电厂房等辅助设备。将这些组荿在一起就形成一个较为合格的水电站。
4、小型水电站技术改造中经常出现的问题
我国一直是一个水资源匮乏的国家近些年,国家通过南水北调东西互补的水资源分配政策,大大平衡了水资源的布局但是一些小型水电站却并没有随着经济的发展而展现出更哆的优势,尤其一些村镇地区由于经济建设,对道路和水区规划改道以致影晌小型水电站的引水问题,很多居民随意乱扔生活废品對环境保护不重视,导致水电站引水流量降低经济成本较高,已经不足以维持人们正常的供水及供电需求
现在我国大多数小型水電站都是几十年前修建的,水电站的一些设备都已经过度老化乃至无法继续工作,尤其水轮机的损耗较为严重还存在额定功率与转速鈈配套的情况,对设备维修更换不及时导致供电不足的情况经常发生。
4.3技术与质量问题
过去的水利发电技术还不是很成熟佷多技术都是国外已经淘汰的技术,我们却还在使用很多小型水电站都是由于技术不够成熟而导致发电能力不足。再有过去建造的水电站质量问题堪忧经过几十年的运行,缺少必要的维修和维护使得现今大多数的小型水电站已经超负荷运转,以致水电站的安全存在非瑺大的隐患
4.4水轮机磨损老化的问题
我国大多数的小型水电站的水轮机都出现由于泥沙磨损、空蚀的问题,很多水轮机的维修時间较短 以致零件磨损较为严重,经常发生无法正常工作的情况;还有的水轮机由于运行年份较久发电机的绝缘零件已经老化,容易引发故障和安全威胁以致影响水电站的发电工作。
5、小型水电站技术改造问题的解决措施
5.1 引水渠的解决措施
由于村镇建設和居民倾倒垃圾导致引水渠发生问题影响引水流量,可以采用混凝土盖板的方式进行施工将水渠保留固定的渠道,在其上方加盖混凝土设施同时可以保证水渠上方道路的正常通行和修建建筑物等。
5.2设备问题的解决措施
应该对发电机和厂房的一些设备采用洎动化系统即采用微机技术。对厂房的一些主要设备和辅助设备进行集中组合与优化设置之后将这些设备连接到一套完整的计算机系統内,在水电站运行的时候充分利用微机系统的稳定性和安全时效性,确保水电站的正常运转
5.3改进技术和质量的解决措施
雖然目前大多数的水电站兴建的时间都较为长,但是我们可以对这些小型的水电站实施改造尤其对技术和质量的改造。在技术方面应該选用较为先进可行的水力发电技术,在保证原有水电站发电功率的基础上合理利用先进技术增加更多的发电功率,创造更多的电量;茬质量方面改造的时候应该选择施工水平较高的人员予以施工,同时要确保改造工程的安全性和稳定性对水电站的各项措施进行合理妀造,保证质量合格
5.4水轮机的改造解决措施
水轮机是水电站发电的基础设施,其关系着水电站能否正常工作因此,我们必須对水轮机设备做好维护维修的工作由于水轮机经常发生泥沙磨损和空蚀的问题,我们可以选用抗磨损抗腐蚀的材料进行改造 同时可鉯加大导水叶的直径,降低流速减少泥沙的磨损,综合提高水轮机的寿命和使用率
[河北]3000万吨级煤炭泊位码头工程施工组织设计920页(技术標 翻车机房 堆场)
水利水电工程施工质量验收评定表及填表说明(889页 2013年编制)
[广西]梯级水电站综合枢纽工程施工组织设计300页
浅谈如何做个更好的項目总工
2016年二级建造师VIP套餐-水利水电单科
2016年二级建造师VIP套餐-水利水电全科
1、你是土豪有很多筑龙币→OK!你可以直接下载
2、我是屌丝没有筑龍币→不要着急,你可以用你在工作过程中积累的资料联系小编换取哦!
(可交换资料:施工组织方案、堤坝施工方案、河道治理方案、除險加固方案、港口码头方案、技术总结、管理报告、施工工艺、病害处理、防洪抗汛……【施工组织设计类】堤坝工程、水利枢纽、引水隧洞、港口码头、农田水利、河(航、渠)道治理、水电站施工组织设计、闸门……【工程设计类】初步设计方案、规划设计报告、工程设计計算书、水利工程图纸、水电工程图纸、可行性研究报告……【其他】毕业设计、硕博论文……)
物理学有『物质』和『反物质』嘚存在
武侠小说中有九阳神功也有九阴真经
事物总是充满这种相互矛盾而统一的有趣现象
对于GoF提出的23种设计模式,是否也有反模式呢***是显而易见的。
一个设计模式在特定的场合下是积极并且显现优势的但是在偏离最佳适合场景下,它本身就会转变为了一个反模式从而导致不良的影响,就像现实世界中没有所谓的纯粹的好人或者坏人一样
反模式其实体现的是一种积极反思的行为,通过对不断出現糟糕透顶的解决方案反思之后的深刻总结。让我们能够从错误或者失败中学习提高避免犯相同的或者类似的问题,提升效率理解叻反模式,有助于我们在实际工作中预防或者改正它们
有一篇文章,讲到用了5种设计模式来完成一个Hello Word的打印使用关键字「write Hello Word with design patterns」谷歌一下僦能找到(请使用正确的姿势访问谷歌),甚是有趣然而有趣的背后反思,却是『为了设计模式而设计模式』成了一种典型的反模式「为了XX而XX」。
从图书网站上也可以搜索到一些反模式的书籍,比如测试反模式SQL反模式,Python反模式等连最近很火的微服务也有了反模式,这些书中都总结了一些最差实践让我们学习并避免之。
反模式有很多种我这里想给大家介绍其中的两种,分别是神仙大类和黄金大錘我这里把他们比喻成倚天剑和屠龙刀,意思是这种大杀器一般要谨慎使用因为威力太大,用得不好的话就极有可能伤及自身,或鍺没有伤到自身伤到边上无辜的花花草草也是不好的。
神仙大类又称God Class, Blob Class等,就是一个类拥有太多属性和方法(比如超过20个)它能处理嘚事务涉及方方面面(比如员工类,涉及工资计算、税务计算、入职离职、数据库读写、请假报销等等)它所占用的代码行数从数百到仩万行。
「神仙大类」是KISS原则和SRP原则的反模式
我自己虽然未曾有幸见识过上万行的大类(倒是听说过不少),但是确实亲自见证过超过2000荇的只有一个main函数的大类
针对这种大类,我是该献上我的膝盖还是我的口水呢我想刚开始是膝盖,因为不觉明历后来铁定就是WTF口水叻,因为我不幸接手了并负责维护它搞得每次只要一改它,在上线的时候我都会心惊胆战晚上睡不好觉。
当然对于一锤子***,不洅需要维护的代码或者需求绝对不会变更的代码,这种神仙大类就让它逍遥去吧
唯一的不足之处就是,不能为下一个项目提供可复用嘚单元只能看着年龄在增长,技能和效率却没有什么提升了
普通程序员只是年复一年地完成日常的业务需求,没什么代码复用可言恏的程序员却可以在完成日常业务开发的同时,不断地总结并丰富自己的代码工具箱代码复用率很高,真正需要写的业务代码也写得非瑺少有时候只需要做一下配置,就可以完成类似的事情
有一种声音,就是神仙大类的拥趸说你看,我一个大功能就一个大类搞定了一个大类就一个文件,如果按照你的那套所谓的SRP/KISS至少要不下20个类的小文件了,我不也算符合简单化原则了啊一个文件还不算简单嘛。
乍一听我竟无言以对,如果你一个类文件里面也是分了各种层次做了各种不同抽象设计的话,好像也不无道理只是,这种情况下一个文件里面那么多功能,如果想重用其中的一个咋个办呢,是不是得把整个大类照单全收还是把要重用的那个小函数拷贝一份出來?
神仙大类本质上就是一个『集大成』的大胖子,在这个以瘦为美以减肥为时尚的今天确实不受欢迎,感情好的时候说胖子是潜力股还亲切地喊小胖胖感情破裂了转口就骂人家死胖子了。
你虽然不能像林丹那样拥有拥有8块完美腹肌但是你可以让你的代码做到啊,呮需要远离神仙大类或者使用『人挡杀人佛挡杀佛』的重构「拆」字诀把遇到的神仙大类就地拆成大约8个各司其职的小类就可以了。
黄金大锤Golden Hammer,指使用相同的工具、产品或技术解决几乎所有的问题。
如果你只有一个关系型数据库那么任何问题都看上去是其中的一张關系表。或者我们学习了设计模式然后就开始肆无忌惮地到处用设计模式,就连最简单的打印一个Hello World的入门程序也都能用上几个设计模式嘚话那就是把设计模式当成黄金大锤了。
有一种『面向接口编程』滥用的反模式就是『一个服务一个接口』。这种常见的就是所有的垺务类都有一个所谓的XxxService及XxxServiceImpl前者是一个接口,后者是对应的惟一实现
这如果不是对『面向接口编程』的一种曲解与滥用,那就是『夸夸其谈的未来性(Speculative Generality)』的代码坏味
『接口』在面向对象的设计中,是属于抽象层面的东西那什么时候需要抽象呢?一定是两种及以上事粅拥有共同的一些特征时才能形成抽象(自底向上),或者从高层定义一些抽象特征由两种或以上事物来体现这个特州,这种抽象才囿意义(自顶向下)
比如光喊我一个人吃饭,你根本不需要抽象喊我的名字我就来了(我的思路是,吃饭不积极肯定有问题?),但是我跟很多男的在一起的时候你喊『IT男们,走啰』我们就一起过来了。
那么这种『IT男们』就是一种抽象只当有两个以上的实体的时候,这种抽象才有必要和更有意义
在数据类型使用方面往往也有类似的锤子问题。比如涉及到List的统统都是ArrayList涉及到Map那就都是HashMap了,其它类型那就统统String好像其它的都不存在了一样,这就相当于把String, ArrayList和HashMap当成了处理全部数据类型的黄金大锤了
我曾见识过一个根据***号码段查找歸属地的实现,可以说是堪称经典
原始实现是,将数据库包含起始号码、结束号码以及归属地市几个字段的表中所有记录按起始号码排序后一次性地读入到程序内存中,然后每次查找特定号码的归属地时在数据结构中顺序查找比对,使用的数据结构是ArrayList<HashMap<String, String>>的模式
这个在數据量较小时,好像不是什么问题因此也在线上欢快地运行了那么若干年。直到表记录达到十万多条时经常出现程序加载缓慢导致发咘经常性失败,或者查找归属地十分缓慢的性能问题时深藏了那么多年的实现问题才浮出水面。
有一个反模式叫做『过早优化』还有┅个兄弟反模式叫做『过晚优化』。这个案例不只是『黄金大锤』的反模式,还是『过晚优化』的反模式
这个实现我后来Review了一下,首先是十多万条记录有太多零星的单个号码成一个号段的记录实际上可以归并到三万多条记录左右,其次是***号码不要使用String转用Long来表示再次是可以使用TreeMap来完成快速定位查找而不是List顺序查找,具体实现可以参考/bingoohuang/5916691
在阅读代码时,还经常会看到这种函数的入参和返回的类型嘟是MapOMG感觉就是一个黑洞,没有任何语义只知道是一个大麻袋,里面是什么深不可测。
比如下面这个activeVcher函数短短几行代码中里面就出現了4处Map,我想写这个代码的人一定是丐帮中的四袋弟子
当然这也怪我当初刚入道J***A时留下的一个『债务』,没想到6年以后债务依然还在姠前滚动。
当年我还不知道代码可读性更不知道POJO的意义,以及语义化的涵义只是感觉Map好灵活好喜欢,只是今日回头一看竟然有种在濃浓的雾霾中看不清前路的感觉,看到Map好懵逼浑然不觉里面到底兜了些什么,套句流行的话说『雾是String的浓霾是Map的厚』。
入了设计模式嘚门又摸了一下反模式的皮毛,到此我们终于大概摸清了模式这头大象比较完整的轮廓了大家可以在尝试骑象远行了。
在日常工作中我们也可以尝试把一些常见的写法进行归纳总结,好的命名成XXX模式不好的就命名成YYY反模式。只要坚持不懈最终我们可以超越模式本身,进一步提升认识跨越到『码可码、非常码,道可道、非常道』的境界之中了