首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

怎么读代码

作为一名程序员,总有一些时候,会对自己所做重复性工作感到厌倦,也会羡慕明星项目做得热火朝天 Star 数蹭蹭上涨。而读代码,则是缓解焦虑良方。...本文在日常读代码中积累一点心得,分享出来,希望能与大家产生共鸣。 1. 寻找一位好老师 优秀项目就像一位好老师,我们可以从它身上全方位地学到各种领域知识。...这类项目在阅读过程中能学到很多知识,包括架构抽象、性能优化、工程化等等。 比较常见典型项目有如:Go、Kubernetes、MySQL 等等。...当我们能用图表和文字来表达出软件完整设计后,我们对代码理解已经比较透彻,甚至,让我们自己来照着写一个新也不是不可能了。 这个时候,就应该进一步思考,如果自己来解决问题,我会怎么做?...结语 本文日常读代码一点经验,总结下来,就是要 仔细地选择学习项目; 先通过文档了解全景,再逐步深入代码; 找对抽象和边界,能帮助我们建立思考模型; 写篇文章讲述代码设计,深入理解代码好办法

1.2K20

代码这样优化,瞬间清爽多了

关于代码优化之前也写了一篇文章 今天这篇文章我们又来聊聊代码优化。 隐藏行为细节 在平时开发过程中,你肯定会碰到这样业务,比如判断车速是否正常。...会对代码阅读加大难度。 这里主要思想就是: “编写小而美的函数,将行为细节隐藏,进行模块化调用。”...:{}",userName); } 上面的业务逻辑就是,如果Member中name为"Zhouzhou",女朋友判断成立。...调用如下: if (member.isMyGirlFriend(userName)) { Console.log("女朋友:{}",userName); } 实际上面属于充血模型,实体除了...我们将行为封装,从而实现行为复用。 这篇文章到这里就结束啦,个人觉得编码细节对于程序员来说还是很重要。有机会还会写一篇编码优化文章。

29720
您找到你想要的搜索结果了吗?
是的
没有找到

不会运行你代码吗?不,不会导入自己数据!

如何准备数据、拿到正确格式数据并导入后续代码进行分析,学习和应用过程中第一个拦路虎。 为什么教程会习惯使用内置数据?...简单省事、便携可重复;这是内置数据优势之一; 内置数据模式清晰,通常可以获得较好结果;这是内置数据优势之二; 别人用这个,也用这个,这是一个偷懒做法。 每个人常识不同。...不太赞成教程里面用使用内置数据,原因: 对不会读入数据的人不友好; 不利于探索这篇教程用于实际数据时可能会遇到问题。示例数据无脑运行,自己数据无显著差异。...如果要使用内置数据,也需要额外提供一些信息: 详细描述内置数据格式和生物含义,及与真实数据对应,可以参考画一个带统计检验PCoA分析结果 提供真实数据格式示例和读入真实数据代码,弥补这个“鸿沟...因为:1)我们需求是比较不同样品差异,数据需要在样品间可比;2)绝大部分工具不会对数据做标准化处理,要么直接用,要么做一些不影响数值关系转换;3)如果某个工具自己内部会对数据做标准化,它一定会在帮助中提及

1.4K10

如何迁移博客

若文章内图片失效(无法正常加载),请留言反馈或直接联系。...写在开头 在今年初,就打算迁移博客了,主要原因ueditor编辑器不支持go代码高亮,所以打算换,但是由于本人比较懒,同时事情又多,就耽搁了下来 此次迁移,跨度半年,实际消耗了3,4天左右,使用到了...copilot自动提示,然后优化 func syncArticle() { log.Println("开始同步文章") //获取旧文章 oldArticle := make([.../ueditor2markdown/ 通过分析,找到了ueditor2markdown.js相关代码: 修改包document,改为jsdom 库实现,该代码已经开源:https://github.com...= nil { log.Fatal(err) } } } 整理博客配置项,优化博客路由兼容 这个比较简单,不做额外说明 引入highlight 高亮代码

67240

珍藏一些Python代码,技巧

其实Python入门容易精通难,大家平时要养成记录习惯,好代码要记录下来,学会总结,经常翻一翻会有收获!今天来分享一些自己记录代码结构,欢迎拍砖! 01. 简洁表达式 ?...点评:这个heapq库非常好用,尤其我们在取一些列表头部数据,比如最大几个,最小几个经常用到,很实用一招!啥也不说了,赶紧背下来!...点评:正则是一个非常不错过滤方法,有的时候好正则顶上几十行代码,精通正则对玩数据分析,数据清洗必需技能! 04....点评:dict.update还是比较平易近人,这个dict(dict,**options)用法第一次看到时候也是楞了一些,什么鬼,现在见多了,也就习惯了! ?...Python就是这么有趣好玩 另外发现很多同学有入门问题,到处找资料,现在关注码题达人小助手,我会送一些自己精选入门资料,有兴趣可以关注,非诚勿扰!

56030

聊一聊开源一些代码

当初做开源,想法很简单,就是想给自己代码放出来,让大家看看,接受大家批评指正。可是,随着开源越做越多,发现也帮助了一批人,慢慢也给我带来了一些人脉,可以学到很多。...持续开源了一段时间,也是大家喜欢最多,更新了不少版本。也进行了一些优化。...appium版本可以支持多设备执行。...4.https://github.com/liwanlei/UFATestPlan 半开源UI自动化测试平台,基于appium版本,接口测试平台维护后,appium可以执行。...这是目前只要开源一些测试代码,梳理下,未来要对这几个测试框架,平台进行调整优化,适配更多测试需求,通过开源,维护,提升自己能力。适当去引入一些算法等,提高测试平台智能化。

38020

这样优化网站图片

2021 年一直没有怎么更文,2022 准备开个好头,所以先挑些简单内容写一写,记录一下如何把个人站点文件存储资费降低 90% 。...如果你喜欢文章,可以把公众号设为星标 ,这样每次有更新就可以及时推送给你啦 服务选择 开始写文章大概三年前,当时有个很现实问题不知道图片上传到哪里。...问题出现 配置好个人图床服务后,差不多两年时间都是无感知,上个月发现今年流量费用翻倍,于是想着优化一下图片降低一些费用。...首先分析了一下文章教程,其中流量大头「web scraper 教程[4]」,全网阅读量预估有 80w,其中 80% 图片请求都会落到我 COS 源站上,造成流量费用。...因为压缩还会消耗服务器资源,所以就关闭了图片 Gzip 压缩。 3.转移 gif 图片图源 png jpg 图片可以通过压缩降低流量消耗,gif 图片既然不能压缩,那就“转移支付”吧!

56720

服了!一些比较恶心代码片段

点击上方 好好学java ,选择 星标 公众号 重磅资讯、干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年经验告诉你如何准备校招!...个人原创100W+访问量博客:点击前往,查看更多 1、下面一段代码将注释和代码混在了一起,不认真看还真不知道。 ? 高亮显示后: ? 2、看到这种多层嵌套恶心到头大。 ?...3、据说某俄国特工经过九死一生偷到了NASA太空火箭发射程序代码最后一页,代码: ))))))))))))))))))))))))))))))))))))))) )))))))))))))...))))))) ))))))))))))))))))))))))))))))))))))))))))))))))))) )))))))))))))))))))))))))))))) 4、以下普通话成绩查询页面...5、虾米穷逼VIP ? 6、总感觉哪里恶心 ? 7、智商被侮辱? ? 8、让帮忙看下代码是否有问题 ? 9、直接忽略百岁以上老人 ?

38310

这样API网关查询接口优化被迫

想多了 需求到手开始干吧!本以我刚入行宏观设想来说,“这种前后端分离系统查询接口优化,也就是对各查询子接口查询使用缓存、SQL调优、代码逻辑调整优化”。当我看到祖传原系统代码时,涨姿势了。...是的,翻看了几遍后端代码确认没看错,上述页面上信息通过API网关系统中一个查询接口得到,并且接口处理逻辑使用了单线程线性处理,也就是下面这样。 ?...但是,这里需要获取线程执行结果,所以这个任务需要同时实现Runnable接口和Future接口,而java.util.concurrent.FutureTask正好满足,直接上代码。 ?...上面的代码,你会发现还有继续优化点,FutureTask#get方法阻塞,也就是说如果对应任务还没有执行完成,调用get方法会被阻塞在那里,直到线程执行完成。...小结 上面使用多线程优化方案当时迫不得已办法,如果可以分为多个网关接口,会方便很多,这样优化重点就可以放在SQL调优和代码逻辑调整上面,并且也不用考虑单线程处理异常如何组装返回数据。

78810

领导看了关闭超时订单,让出门左转!

哈喽大家好,阿Q! 前几天领导突然宣布几年前停用电商项目又重新启动了,带着复杂心情仔细赏阅“儿时”代码,心中酸楚只有自己能够体会。...这不,昨天又被领导叫进了“小黑屋”,让代码重构下进行升级。看到这么“可爱”代码,心中一万只“xx马”疾驰而过。...让最深恶痛觉就是里边竟然用定时任务实现了“关闭超时订单”功能,现在想来,哭笑不得。我们先分析一波为什么大家都在抵制用定时任务来实现该功能。...定时任务 关闭超时订单是在创建订单之后一段时间内未完成支付而关闭订单操作,该功能一般要求每笔订单超时时间一致。...这边使用v3.8.0.ez,将文件下载下来放到服务器/usr/local/soft/rabbitmq_server-3.7.14/plugins 路径下,执行rabbitmq-plugins

70020

防御性编程失败,开始优化多重 if-else 代码

,组内另外一位同事对代码进行了 CodeReview,防御性编程编程没有幸运逃脱,被标记上了“多重 if-else ”需要进行优化,至此第一次防御性编程失败,开始了优化多重 if-else...之路,下面总结出常用几种优化方式。...1 : 2; 使用枚举 在某一些场景我们也可以使用枚举来优化多重 if-else 代码,使我们代码更加简洁、具备更多可读性和可维护性。...如何优化开头代码 好了现在回到开头,如果你会进行怎么优化,下面交出答卷,大家也可以在评论区发表自己看法,欢迎一起交流: public static void main(String[]...对技术热情不断学习和分享动力。博客一个关于Java生态系统、后端开发和最新技术趋势地方。

20820

如何在腾讯实践webpack优化

1 前言 大家好,心锁,一枚23届准毕业生。...这次文章主题「webpack」,将叙述在腾讯QAPM项目中进行前端工程化实践,前方高能预警⚠️ 阅读本文,你将会了解到 Webpack4->Webpack5升级指南 Webpack优化实战 值得注意...webpack5之前,通过url-loader与file-loader等loader来决定一些静态资源加载。...HMR支持不是很好 (这里还有一个问题,开发环境配置hash会使得构建性能进一步下降) 这里解决方案在开发环境中使用style-loader,这个loader作为webpack入门级loader...否则可能会丢失样式 3.2.4 splitChunks提取公共代码 SplitChunks插件webpack中用来提取或分离代码插件,主要作用是提取公共代码,减少代码被重复打包,拆分过大js文件

59820

拯救烂怂代码这么做

“_”: 下划线,表示当前这个类方法或者属性静态。 斜体:老猫这里没有画出来,这里其实表示抽象,当然有的时候也会用两个尖括号包裹来表示抽象,>。...{ private User user; } unsetunset自关联unsetunset 关于自关联,其实我们日常开发中也遇到过,尤其一些递归类时候,例如树形结构,大树下面套小树...对于聚合来说,成员对象是整体对象一部分,当然成员对象也可以脱离整体独立存在。这么说的话有点抽象了,打个比方,老猫有最近想要组装一台台式电脑,于是买了显卡以及主板等等元器件。...写在最后 为了让小猫更好地优化梳理烂怂代码,老猫花了好几个晚上整理出来了绘制方法。其实无论多么复杂类,只要我们把握清楚其中类图关系,然后再结合上一篇文章中业务模型对照起来一起看,就很清晰了。...老猫,资深研发老鸟,让我们一起聊聊技术,聊聊人生。 都看到这了,求个点赞、关注、在看三连呗,感谢支持。

10710

如何学习写代码?v2

设计工具引入代码 Framer一款结合代码与可视化实现交互设计工具,因为通过代码,可以完全控制交互效果,设计师不仅停留在画图层面,更多可以关注到实现真实效果。 写代码难吗?...一位朋友,在咨询了一阵子后,开始学习 Python ,但是在坚持了2个月时候,他逐渐减少学习时间,并最终放弃了。...4 计算机完成任务时候,如何反馈给我们代码最难逻辑 引一位Oracle程序员在Hacker News上吐槽自己工作讨论。...入门级,会一门编程语言,会写一点点代码,但是无法自己完成一个项目从0到1构建。 以下给初学者如何学习代码指南。...写代码基本功,锻炼逻辑思维能力,跟解决问题能力。 在不久未来,写代码也是可以机器完成,不知大家关注过这项研究吗?

1.8K50

谁在调试代码

加固软件主要做两件事,对软件中关键代码保护以及提高对软件逆向反编译门槛。 那么软件安全性防护墙第一道门那就是反调试。反调试技术又细分为静态反调试和动态反调试。...NtQueryInformationProcess 检测 这个微软未公开函数,下面这个函数参数信息,可以利用这个函数第三个参数值,也就是利用PROCESSINFOCLASS值,进行判断是否处于调试状态...SetHandleInformation 检测 通过创建一个互斥体对象,利用SetHandleInformation将互斥体对象句柄标志改为HANDLE_FLAG_PROTECT_FROM_CLOSE,然后关闭句柄...CloseHandle 检测 利用异常捕获机制,给CloseHandle函数一个无效句柄作为输入参数,在程序在没有被调试时,将会返回一个错误代码;而程序被调试器调试时,将会触发一个EXCEPTION_INVALID_HANDLE...父进程反调试检测 在window系统中explorer程序管理器或者文件管理器,一般双击运行进程,它父进程就都是explorer程序,如果被调试进程启动的话那么父进程调速器进程。

64231

人吗?关于人机验证绕过技术一些总结

不过得益于机器学习,尤其深度学习进步,很多学者和技术大牛都这方面有了一些研究成果,本文将对已有的一些人机验证绕过技术进行总结。...训练模型时采用优化策略Adagrad算法,损失函数选择多类别交叉熵,然后通过加入Dropout来缓解拟合发生,在一定程度上达到正则化。核心代码如图3.2所示。 ?...为了反破解,谷歌引入了基于音频和图像 reCAPTCHA v2版本,使用了一些高级分析工具来判断一个用户到底人还是机器人。...,但主要缺点在于受JS代码频繁升级影响很大。...绕开某一个网站的人机验证,重点在于让机器觉着你人,而不是它同类,但是机器觉着你是不是机器重点在于设计这个机器的人所设置一些检验手段。

4.1K20

重构 -- 一个类,难道不配有专属测试代码吗?

这点我以前确实没想过 刚看到这个观点时候,很不以为然,谁让它标题不吸引人>>>《构建测试体系》 就这标题,谁不知道要测试啊。还好没有“以貌取文”,认真的看了下去。...为什么调试会花掉大把时间,因为工程大啊,你说它突然来个段错误,你知道哪里段错误?段错误会死机,那不死机呢?...每个类都配备测试代码,烦不烦啊你? 烦。但是项目run时候爆了烦不烦?那会儿可就不是一个人烦了,那是一个团队一起烦。...就比方说上次我们服务器客户端对接测试一个项目,中间数据传输出问题了,好了,现在问题都不知道。。。 然后测试端也只能跟后边等着了。...行吧,写,那怎么写啊? 怎么写那是个人自己事情。但是,想说,测试代码,最好写在功能类之前,这样可以预先界定功能类具体功能,也可以把思路清晰一下。 至于测试代码要测试哪些东西?

72640
领券