关于技术上的重复与代码复用

项目遇到分布式与高并发的问题,我的疑惑是:那么多公司能应对高并发与分布式,为什么我们处理起来还是这么难?

我的分析:

  1. 很多公司指哪些公司:是不是生活中经常用到的:百度,淘宝等大公司?它们的技术水平更高,也经过了摸索。
  2. 别的公司做了,不代表做起来很容易。它们遇到的问题不会一一分享出来,代码、部署、运维也没有完全的、详细的开源出来
  3. 这应该是一个综合性的技术问题,既需要代码方面,还需要数据库设计、管理以及机器部署

如果要解决这些问题,应该怎么做?

  1. 继续分解这些问题,找到难点,系统的搜索、学习;
  2. 寻找分布式与高并发做的好的公司,比如 Google, 百度, 淘宝,看看他们是怎么做的。他们在这方面的分享资料;

引申出的问题:

为什么 Github 上这么多代码,有时候很难找到想要的?

  1. 没找到,搜索问题
  2. 代码问题太多,还不如自己重写

我想到的解决方法:

  1. 使用规范的库,比如 Python,Django 中经过官方认证的库(有这样的官方认证吗?)
  2. 公司内部做好代码复用与分享,规范代码格式;
  3. 基于 Git 上面的代码进行改进,维护到公司库中;

最近在写一个爬虫项目,有这样的困惑:

Python 帮我们处理了很多东西,我们还需要了解底层的网络请求?

牛顿说站在巨人肩膀上,帮助了他。我们这里也是一样,之前的人已经了解过了,并写出了好用的接口,为什么还要了解底层?是不是重复了,如果前人打的地基足够牢固,我们为什么不直接在上面建房子?

我的想法:

  1. 结合底层知识+api文档能更好的调用,应对更多的情况
  2. ... 待写

参考:

如何利用开源软件,站在巨人的肩膀上实现快速高效开发?

时间: 2024-10-29 13:10:21

关于技术上的重复与代码复用的相关文章

ant中提取properties和xml提高代码复用性

本文接着上文对前面的示例进行优化,在前面的build.xml中,有些代码是重复的,我们可以将其抽象出来拿来共同使用,比如将一些路劲提取出来放入properties,可以达到共用的同时,还可以增强程序的可维护性,以后路劲变了只需改配置文件,不用改动build.xml.properties维护简单,以键值对形式存放:而xml不单可以提取属性,还可以提取target. 比如在上文中可以将src1,src2,src3的路劲提取出来,放入properties,以后要是路劲变了,直接更改properties

Android网络项目课程笔记-----代码复用性

复用 为了复用而写代码,代码量是1.6倍 What: 一份代码多处使用 style AsyncTask IntentService ListActivity 工具类 组件 why: 1) 性能提升 2) 可维护性 3) 可扩展性 复用滑动Tabs 使用到的技术: 抽象(封装.继承.多态) 把重复的变为方法体,不同的变为参数 目的:为了提高可维护性 抽象,API GoogleStyle下拉刷新 开源项目:SmoothProgressBar-master ActionBar-PullToRefres

谷歌为什么把上十亿行代码都放在一个仓库里

相对于一般公司,Google 使用了单一代码仓库,很多人不理解为什么这么做.本文作者是谷歌基础设施小组的工程师,他对这个问题进行了详细解读. 早期 Google 员工决定使用集中式源代码管理系统来管理代码库.这种方法已经在 Google 运行了 16 年以上,而今天绝大多数的 Google 软件仍然存储在一个共享的代码库中. 随着 Google 开发软件数量稳步增加,Google 代码库的规模也呈指数增长. 因此,用于管理代码库的技术也发生了显著变化. 本文概述了该代码库的规模,并详细介绍了 G

技术领导要不要写代码?

技术领导要不要写代码?这是一个问题. 我刚工作的时候就听说,程序员(那时候还没有“码农”的说法)是吃青春饭的,到 30 岁就熬不了夜写不动代码了,所以要尽早转管理岗.相应的,如果你走上管理路线成了技术领导,自然就不必干写代码这种低级重复的体力劳动了.所以当时自己代码写得很多,技术能力增长很快,但总感觉有点别扭.那感觉就像,你能把车开得又快又熟练,最终只是为了能按时到达机场赶上飞机.然后,你就再也不用开车了. 不过无论如何,赶上飞机看来是更高级的选择,为了它,放弃苦心修炼的车技也可以接受罢. 但是

提高代码复用

提高代码复用率是程序员永无止境的追求,恐怕面向对象比面向过程的最大的优越之处也就在于此了.除了在程序中设计良好的架构,编写复用性高的类和方法,VS编译器本身也提供了一些可以大大提高编程效率的机制.面向对象是"大智慧"的话,那么巧妙的利用编译器就可以称之为"小聪明"了.编程离不开大智慧,学会耍一些小聪明也是不错的哦.可是最值得深思的是:为什么人家牛老师,会想到这些,而咱们却没有事先发现这些小技巧呢?可见发现的意识.创新的意识真的还差劲啊,但是慢慢来,这里就像人家牛老师

关于使用第三方库、代码复用的一些思考

不管是不要重复造轮子,还是站在巨人的肩膀上,对于软件开发来说,代码复用都是最基本的原则之一. 代码复用,可能是DIY(dont repeat yourself),也可能是使用别人的代码,或者是开源项目,或者是其他团队提供的组件.服务,或者是团队内他人实现的公共模块,这些复用大大减少了项目的开发周期和成本. 但怎样才算是高效.正确的第三方代码使用姿势呢?在实操中,也会出现一些使用第三方代码导致失控的情况,比如使用用了一些第三方代码,但年久失修,当线上事故貌似与第三方代码有关时,无法快速定位.解决问

03-模板(过滤器,代码复用,表单,CSRF)

模块代码复用 在模板中,可能会遇到以下情况: 多个模板具有完全相同的顶部和底部内容 多个模板中具有相同的模板代码内容,但是内容中部分值不一样 多个模板中具有完全相同的 html 代码块内容 像遇到这种情况,可以使用 JinJa2 模板中的 宏.继承.包含来进行实现 宏 对宏(macro)的理解: 把它看作 Jinja2 中的一个函数,它会返回一个模板或者 HTML 字符串 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用 需要在多处重复使用的模板代码片段可以写入单独的

代码坏味道特征重复的代码

重复的代码开发,在作为初级的程序员是经常遇见的,因为被要求做一些很固定且比较简单通用的模块,所以很容易就遇上功能相同的代码进行重复的开发了. 1.为什么会有重复的代码 重复的代码可能会出现编写人员抽象公有模块抽象公有功能的能力,可能来自我们开发方式过于老化固定了类之间的相互应用所以导致编写的某一个功能只适用一个特定的系统使用,可能来自我们的设计人员对项目框架设计考虑不够仔细,没有重用性的设计过程. 2.怎样避免出现重复的代码 使用完善的SOA框架,我认为至少在我们内网程序开发中可以节约一大部分的

代码复用原则:合理使用类组合和类继承

继承和组合都可以达到代码复用的目的,但是组合比继承更具灵活性.组合是通过引用已有类(一般为抽象类)或接口来实现复用的组合在运行时通过多态可以动态替换被组合的对象.继承是通过以子类继承父类方式来使父类的非私有成员可以被其子类使用.继承在类编译时就确定了继承来的方法和 属性,无法在运行时动态改变从父类继承来的方法.如果继承得来的某个方法在子类中不适用,这时就需要重写该方 法.而这样又很有可能违反LSP设计原则.如果父类非私有成员发生了改变那么继承他的子类也不得不发生改变父类改 变.所以这种复用方式仅