几行代码就能实现为何要多此一举
记得分享了一篇文章到一个android群里,不一会,有人就开始问了,我用某某开源三行代码就能搞定,何须那么复杂,我顿时哑口无言,愣的不知所措,对啊,三行代码就能实现了,我这南辕北辙拐了一大圈,图个啥,我就弱弱的问,它是咋实现的?管它咋实现干嘛,会用不就得了,这是他给我的答案。
时间的前进,优秀的开源也会随之不断的涌现,开发中,借助于这些开源,使得我们的效率翻倍的增加,省去了大量的开发时间,节省了太多太多的成本,然而,所谓的诟病,我只会用,其中的原理我不知道也越来越突出,越来越明显;我们站在了世界的前沿,在大环境的烘托下,前沿的人群中,我们大多只是看热闹的那个,前边走着的,后面过去的,只知其名,却不知道他是谁,后面追赶的人太多太多,95后甚至00后的小孩也已经加入了这个庞大的人群中,处于这样一种竞争的环境下,我们既然都知道的他的名字,何不继续认识他呢?毕竟“朋友”多了,好办事,我相信你知道我说的“他”代指什么,我也相信,你会从中得到什么,毕竟,如果这个你会用,95后00后也会用,一个企业会用你,还是95后00后呢?
对于开源,我们不仅仅是要去运用,而是更深层次的去理解,去渗透,只有这样,在未来的竞争市场,我们才有竞争力,才有发言权;假如,一个功能,一个人借助开源三行代码实现了,另一个人自己写用了两百行,你是面试官,你会做出如何选择呢?一个靠自己能写出来的人,他一定会得到面试官的青睐,所以,我们要懂开源而用开源,而不是用开源而不懂它,如果我们是后者,则吃亏的终究是我们。
在开发中盲目的使用开源,有时也只会让我们的项目变得越来越遭。例如我只需要A功能,正好有个开源有A功能,但是这个开源除了A功能之外,还有B功能,C功能,D功能等等功能,本来这个A功能就只有一个类,但是整个开源却有几百个类,引入到我们的项目中,无形中就占据了我们的应用的内存,增加了apk的大小,也许你并不在乎,毕竟你已经实现了功能,实现了上头交代的任务,你可以就此高兴大吉,这是一个还算完美的结局;但是,在很多情况下,引用的开源,会和我们本身的项目有许多的冲突,比如引用了共同的jar包,gradle版本不一致,有时还会导致我们的应用超出65535方法数,这一系列的不利因素,我们是不是得花些许时间来解决呢?
我需要一个苹果,你给了我一车水果,这是很多开源我们不得不面对的一个问题,如果我们能获取源码,那么我们就可以对需要的功能做一个抽取,取其精华,弃其糟粕,这样以来,就会精简很多无用的代码,但很多情况下,我们所用到的这些开源,要么依赖一个jar包,要么依赖一个地址,所谓的源码,能暴露的少之又少,在某种功能自己能写出来的情况下,我们何不动手自己去实现呢?一来,加深了你对这个功能的印象,二来,少了第三方的引用则会节省了应用内存,apk的大小,三来,减少了一些因引用开源所带来的种种问题;当然了,所谓的这些得建立在你的项目有充足时间的情况下,要不然,某个功能是能写,但没个两三天搞不出来,而项目上线时间迫在眉睫,那么这种情况下,请你一定要用第三方,不为什么,因为你的这份工作重要!
所谓的多此一举,在很多情况下,不过是搪塞自己的一个借口罢了,我们在一个幸福的时代里被众多的优秀开源宠溺的,逐渐失去了求知的欲望,我们变得懒散,变得不在积极主动,变得只会几行代码,变得只追求结果,不注重过程,以至于慢慢失去了“多此一举”。为何要多此一举?其实并不是为了什么,而是为了我们能够获得更多的知识,懂得0到1的质变,也是为了,某个岗位,我们会他们不会,而争取的一个就业就会。
几行代码就能搞定,不能代表一个人很牛,借助了开源,只是站在了巨人的肩膀上,让你省去了去往成功的一大段路,然而这一段路上的风景,还请你仔细去欣赏,到头来,你会发现,路上的风景会远远美于终点的成功。
转载于:https://juejin.im/post/5b4eacf5f265da0f601306c2
几行代码就能实现为何要多此一举相关推荐
- java selenium_java+selenium,40行代码完成支付宝账单爬取
java+selenium,40行代码完成支付宝账单爬取 需要jar selenium-server-4.0.0-alpha-5.jar 需要驱动 chromedriver.exe 驱动需要和浏览器版 ...
- 基于python的证件照_20行代码教你用python给证件照换底色的方法示例
1.图片来源 该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流. 2.读取图片并显示 imread():读取图片: imshow():展示图片: waitkey():设置窗口等待,如果 ...
- from . import_python首行代码import *,from * import * 解析
python代码,一般第一行代码都是import *或from * import *,作用是导入功能模块,然后利用模块内的函数编写代码,减少大量的代码编写时间,是python的一大特色.但是,在实际写 ...
- GitHub开源的ImageAI 库:几行代码可实现目标对象识别
目录 1.图像预测 2.物体检测 3.视频对象检测和跟踪 ImageAI是一个Python库,旨在使开发人员能够使用简单的几行代码构建具有自包含深度学习和计算机视觉功能的应用程序和系统. ...
- 【python】一个目录里面多个python程序文件,统计一下里面有多少行代码。即分别列出:代码、空行、注释的行数。
一个目录里面多个python程序文件,统计一下里面有多少行代码.即分别列出:代码.空行.注释的行数. 题目 代码 结果 题目 一个目录里面多个python程序文件,统计一下里面有多少行代码.即分别列出 ...
- 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
Ctrl+Shift+S→编辑器→Code Style→JavaScript或TypeScript→Punctuation 1.每行代码结尾自动加上;分号: Use(下拉框选Use)semiconlo ...
- js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输
百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...
- suse oracle 12c安装,用半行代码实现在LINUX(SUSE/RH)下安装ORACLE 12C
最近新到单位的朋友总是抱怨在LINUX下安装ORACLE,实在是太麻烦了,而且这些步骤既不知是什么意思,也记不住:索性,我就分析了一下,经过实践,实现了只用半行代码(确切的说,只消4个字母)就可实现在 ...
- SpringBoot 1024行代码 - 系统监控工具 Actuator简介
前言 在生产环境中,我们比较关心任意时刻一个JVM的运行情况.SpringBoot为我们提供了一个方便的功能模块Actuator.只要简单几步就可以为我们的应用添加查询系统各项指标的功能. 准备工作 ...
- 把三千行代码重构为15行
2019独角兽企业重金招聘Python工程师标准>>> 如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论.如果你认为能够戳中您的G点,那么请随手点 ...
最新文章
- Web.Config文件配置之连接默认错误页
- 逻辑结构图向关系转换规则
- 1月第1周要闻回顾:年末威胁上升的态势仍延续
- GalleryView
- mvcc原理_Mysql MVCC实现原理
- 基于智能家居场景的POALRDB性能体验
- libcurl Get json 数据 接收全部的数据
- vue项目创建步骤 和 路由router知识点
- 深度学习Caffe 入门理解使用教程
- 自动驾驶——Tracking的学习笔记
- 16muduo_base库源码分析(七)
- 计算数字1至10的总和
- 全卷积神经网络 图像语义分割实验:FCN数据集制作,网络模型定义,网络训练(提供数据集和模型文件,以供参考)
- Word2007发布文章成功
- 蓝桥杯 第几个幸运数 set
- 基于sklearn框架实现线性回归,多项式回归和支持向量机的项目实战
- 关于 签名验证失败 的问题
- 介绍一款 微信客服平台系统
- 低成本推广APP的策略
- 网络分层架构 ARP baidu.com 访问过程 知识点总结
热门文章
- Atitit 研发体系 之道 attilax著 艾龙著 1. 发管理是一个完整的管理体系,从结构上来讲,它主要由四个方面的内容构架而成:组织结构与岗位设置 管理流程与工作流程、、项目及管道管理(
- Atitit.jquery 版本新特性attilax总结
- paip.-Djava.library.path -Djava.ext.dirs= 的区别
- paip.c#.net托盘图标的建立使用总结
- PAIP.MYSQL 1045 Access denied for user 'XXXX'@'loca 的解决.txt
- IE下调试CSS与JS
- Ubuntu: apt安装clang
- 基金境外设立子公司将迎新规 监管给出24个月过渡期
- ETF最神秘的地带:清算交收(背景知识篇)
- 瑞信:区块链技术还在半山腰 2025年才能真正成熟