Skip to main content

moregeek program

遗留代码处理技巧与案例演示_京东云官方的博客-多极客编程

1 什么是遗留代码本质是一种技术债务,产生原因一方面是业务原因:如业务本身场景繁多、流程复杂等;另一方面是技术原因:如代码不规范、设计不合理、祖传代码文档注释缺失等。它会影响我们的程序很多方面:如可读性、可修改性、可复用性、可维护性、可测试性等。2 遗留代码处理过程拆解划分为梳理->重构/重写->替换/验证三个阶段2.1 梳理遗留代码的处理是一种逆向工程,从已有的代码+数据模型+文档倒

Read More

详解降维-pca-最大投影方差&最小重构代价【白板推导系列笔记】_wx63088f6683f8f的博客-多极客编程

作者:[shuhuai008]   PCA的核心就是对原始特征空间的重构(将一组可能线性相关的变量,通过正交变换变换成一组线性无关的变量) 两个基本的要求是最大投影方差(即找到的投影方向对于数据集投影方差最大),最小重构代价(即降维所得到的新数据与原数据相比,信息损失最小)   $$ \begin{gathered} X=\begin{pmatrix} x_{1} & x_{2} &a

Read More

《重构 JavaScript》读后感和部分摘录-多极客编程

现在读动物书,有一种崇敬的感觉前言整体来说,《重构 JavaScript》对从刚入门到有些许开发经验的人,都有受益的地方。前面讲述了在 JavaScript 里重构是一个什么概念,你应该怎么选择、学习和使用 JavaScript,以及讲测试对重构的重要性;中间讲述了重构的目标、要注意的结构和一些值得注意的点;最后提到了一些异步、模式和函数式编程的思路。​可以这样形容:有一个密室,给你一些物品,然

Read More

《重构 JavaScript》读后感和部分摘录-多极客编程

现在读动物书,有一种崇敬的感觉前言整体来说,《重构 JavaScript》对从刚入门到有些许开发经验的人,都有受益的地方。前面讲述了在 JavaScript 里重构是一个什么概念,你应该怎么选择、学习和使用 JavaScript,以及讲测试对重构的重要性;中间讲述了重构的目标、要注意的结构和一些值得注意的点;最后提到了一些异步、模式和函数式编程的思路。​可以这样形容:有一个密室,给你一些物品,然

Read More

重构,改善代码设计----初览-多极客编程

   看完《重构-改善既有代码的设计》一书,心里激起了点涟漪,既感觉有那么点感觉在以后的代码中小试牛刀,又感觉好些东西虽然看过了,可实际使用时还是会遇上莫名的问题的。没看之前头脑是清晰的,看了后反而头大了,不知所云……   既然头大,那我就慢慢梳理一下吧!   重构一共十五章:   第一章:重构,第一个案例        本章开始引入重构,用一个案例让我们尝试一点点甜头,然后对重构起一个总纲的作用

Read More

再谈重构-多极客编程

之前做过一个《重构和生活》的分享,昨天又参加了部门同学的《重构》的分享,总感觉有些意犹未尽,毕竟重构是一个可以不断咀嚼的问题。因此决定补发一篇,分享下个人对重构的一些之前没有分享的认识。1 接触重构我刚毕业就加入了一家外企研发中心,主要从事分布式数据采集软件开发。公司的规范让我在否定过去自己的同时也开始接触更多的东西。积极进行和参加Code Review的过程中我开始大量吸收代码工业中的一些好的实

Read More

重构宣言-多极客编程

重构宣言 因为这个世界需要更好的代码 1 Make your products live longer! 让产品活久点! 重构意味着把握让产品活着的机会。不要抛弃它,缝补它!不要终止它,修理它!重构不是徒劳。它是防止变化的一种必要的复杂。   2 Design should be simple so that it is easy to refactor. 设计必须简单,重构才容易

Read More

代码坏味道-多极客编程

     重构的第一步就是读代码,从中发现其中的坏味道。在最近的一个重构项目中就发现如下的一些不合理点并在阅读过程中考虑了初步的解决方案。   1 控件创建和配置代码 - (void)loadView {     [super loadView];     CGRect rect = CGRectMake(1, 1, 318, 34);     _urlField = [[UITex

Read More

重构:百问-多极客编程

   重构的过程就是问问题的过程。针对在重构的过程中我脑中经常浮现的问题,我原本想整理一个“百问”,但一口气写下来发现只能写到50个问题,就留点让大家补充吧?当然我想到了也会及时更新。争取早日可以完善成一个重构的Checklist。   项目结构(5) 项目结构是否和实际是否匹配? 是否有分层? 做蛋糕 是否有分块? 切蛋糕 顺序是否合理? 优先级 是否层次太多?   文

Read More

重构:光鲜的产品背后-多极客编程

    这是市场上一个光鲜夺目的产品,但在维护和升级的过程中却遇到了越来越大的问题。是继续前行直到最后一根稻草的出现,还是有所改变重构后轻便前行?目前还没有答案,不过造成现状的原因却逐渐清晰: 1 项目的最初开发者是从C++转向Objective-C的iPhone开发。为了实现平滑过渡并最大复用现有的代码,就通过C和C++开发了一些基础代码。这些基础代码逐渐就成为了该项目的范式和根基,但随着人员

Read More

重构:心态-多极客编程

最近在重构一个成熟的产品,在重构的同时更是在调整心态。重构到底需要什么样的心态呢?个人觉得有如下五点:   1 “疑问”。 重构的过程是一个不断问问题的过程。可以问自己,还还可以问相关人员。在问的过程中可以思考和发现问题,甚至可以发现最初写代码时进行如此处理的想法和背景。   2 “审美”。 重构就是让代码变得更漂亮,因此过程中需要有审美的心态。“胖瘦”是否合理?结构是否匀称?意图是

Read More

重构:命名-多极客编程

目前在重构一个项目,重构过程中发现函数和方法命名存在如下几种类型的问题:   1 “挂羊头卖狗肉型”。最痛恨的就是这种类型,不仅没有表明意图,还有误导作用。比如getXXX的函数是返回一个alloc或者new的对象,这就会导致调用方在使用之后不释放,从而照成内存泄露。   2 “模糊型”。命名是图方便直接就用一些通用的词。比如获取某些属性就直接用Info,自定义控件就用Custom。这也确

Read More