为什么我的开发方式如此愚蠢?


前言

我也不知道为什么,很多时候,自己脑中所想的事情,自己近日所做的事情,常常会让我感觉到一种仿佛几个世纪般的遥远。我是否在不断地遗忘?那么,我只能在我自己彻底遗忘之前,将自己曾经的想法,记录下来。


正文

很久之前,我就已经感觉到了,自己的每天的生活方式有种让我说不出的违和感。我的第六感常常要早于我的理性分析,从每天早上起来例行的刷牙,洗脸,到早中晚三餐。你可能说这是维持住我生存的基础,因为生物的活动需要能量和动力。

那么问题来了,为什么我的工作确实永远做不完的?这点真的很奇怪,以前我仅仅是对此有一些违和感,但是当我尝试通过函数式那种抽象到极致的方式来重新审视自己的时候。我发现,一切竟然是那么的索然无味!

Java的确,并不是一种很好的,优秀的实现函数式编程的语言。但是有一句话被称为一叶知秋,我们完全可以通过Java函数式实现的过程中可以看到,我们平常所做的,我们平常所说的,那些所谓的设计模式也好,业务实现也好,其实仅仅是因为自己本身的不厌其烦地进行轮胎的制作而形成的“贪嗔痴”。

我很不喜欢我曾经认识的一些人,我认为他们的存在就是为了通过取悦别人来证明自己的价值,加一次班,回到家就发一张照片到朋友圈,唯恐领导看不见一般。我听说,日本有一小部分人给别人当情人的原因就是其本身所强烈需要的别人的认可感,因为自己缺乏别人的认同感!两者其实是一样的。

话说的有点多了,最近尝试将MVVM的部分思路融会贯通到自己的已有项目里,也就是所谓的databinding,数据操作相关的视图逻辑与非数据相关的视图逻辑完全抽离,从而达到非数据相关的视图逻辑的高度复用的目的。

具体用在什么地方呢?多布局类型的RecyclerView!为什么之前我开发的时候RecyclerView的ViewHolder需要在Adapter中进行定义,这个未免也太蠢了吧。为什么说太蠢了呢?

我们开发过程中为什么要追求所谓的解耦和复用,因为需要尽可能地降低我们编写代码的时候出现需求变动后的代码改动范围。试着思考,如果耦合度很高,那么我在进行一个类的改动时,与其关联的所有其他类都需要间接的进行改动,这不是蠢到期限了吗?如果服用度很低的情况,那么一旦我对于当前已经开发完毕的一个功能需要进一步的开发工作,那么我可能要反复地进行几遍,几十遍,甚至上百遍的代码修改工作,这不是过于愚蠢了吗?我们的生命是有限的,绝对不能浪费在这种垃圾到极点的无用重复性劳动上!

所以,当前我所能想象到的较优解是什么呢?就是将界面操作本身进行抽象,也就是将RecyclerView上的不同部分的内容的显示过程进行抽象,但是具体的实现,就交由具体填充到其中的类进行指定。

然后就是如何加载不同部分的内容了。RxJava,你们真的会用吗?什么是函数式的编程方式,你们真的知道吗?你们是不是仅仅为了使用Rxjava而使用Rxjava呢?半吊子的使用还不如不用,仅仅会让代码本身变得更加不伦不类。

我知道RxJava+GSON作为Retrofit的适配器和转换器,是相当技巧和灵活的操作,但是你们真的知道到底如何将这三者进行充分的结合从而达到近乎完美的协调呢?你说你知道,但是请问你怎么知道你自己知道的是所谓的真理呢?

为什么所有人在论述事情的时候,都是以自己已经充分理解了将要论述的一切?所谓的科学,不就是建立在观察和实验的角度上对于假说的不断验证吗?就连那些伟人,也并不认为自己所理解的就是所谓的真理。因为真理是绝对的,而人类注定和真理无缘,因为人类所能做到的,仅仅是让自己不再像以前那么愚蠢,仅此而已!

至此,与诸君共勉,最后一个问题。请问诸君,我等是否真实存在,还是仅仅是虚拟现实中的一团数据呢?

为什么我的开发方式如此愚蠢?相关推荐

  1. c++ 调用labview_LabVIEW面向对象编程_初窥门径(5):开发方式漫谈

    开发软件最少需要三种不同立场的角色来共同协作完成:客户.开发人员和测试人员. 一般来说,通常是由客户方(产品负责人或者是需求分析师)来决定需求,制定需求分析报告.开发验收测试和设定将要开发功能的优先级 ...

  2. 论文速读:AI能从人类的愚蠢中学到什么?

    来源:混沌巡洋舰 本文来自对下面论文的编译和解读: 导读:随着机器在某些认知问题上超越人类,人机协作将会带来越来越显著的影响.造成人类偏见的三个主要原因(小而不完整的数据集,从自己的决策结果中学习,以 ...

  3. 论SOA架构的几种主要开发方式

    论SOA架构的几种主要开发方式 面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署.组合和使用.服务层是SOA的基础,可以直接被应用调 ...

  4. 买笔记本的10大愚蠢表现

    点评:有此想法的一般是没文化的暴发户.我就见过一个暴发的售楼×××(只有中专文化),买了一台12000元的ThinkPad的T系列,还说这种价钱.这种配置,应该至少保用10年了吧?事实上,一台笔记本能 ...

  5. [zz]三权鼎立形式的软件开发方式

    什么是三权鼎立形式的软件开发方式?估计所有的开发者都听说过瀑布式开发模式,xp测试驱动开发模式等等,这是从软件的开发方法来说:而我要说的,是催生软件最终成型/上线所需要的公司组织架构模式的,跨部门,跨 ...

  6. 记一次愚蠢的操作--线程安全问题

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:github.com/ZhongFuChen- 记一次在工作中愚蠢的操作,本文关键字:线程安全 (我怎么天天在写Bug啊) 一 ...

  7. WEB开发之如何改善PHP开发方式

    改善PHP开发方式一般可以分为以下几种实现方式: 1.组织和样式       找出一种适合你的组织方法和编码样式,并且一直坚持下去,这样的话,你的代码的组织和布局会变得十分有条理.我们不应该轻视代码的 ...

  8. java string s_Java字符串:“String s=新字符串(”愚蠢“);

    Java字符串:"String s=新字符串("愚蠢"): 我是一个学习Java的C+的人.我正在阅读有效的Java,有些东西让我感到困惑.它说永远不要写这样的代码:St ...

  9. 关于敏捷开发和憋个大招两种开发方式的思考

    憋个大招的开发方式非常不适合团队合作,而且极其容易导致项目延期. 当你没见过更优秀的沟通合作方式的时候,你以为现在的开发方式和合作方式就是正常的样子,其实本质来说就是见的少,遇到的少,可是话又说回来, ...

最新文章

  1. Java中的static关键字的用法
  2. python统计excel中重复数据_EXCEL公式解读:统计不重复个数
  3. Java性能优化(3):通过私有构造函数强化不可实例化的能力
  4. 使用oracle 游标修改数据,Oracle 函数施行修改和游标传递
  5. linux usb 重启,在ubuntu下重启指定的USB口
  6. 怎样在页面上查找请求内容_怎样快速裁剪删除PDF文档的页面内容?
  7. 目标检测(二十三)--DenseBox
  8. 博士招生 | 北京大学和中山大学博士申请考核还有名额,门槛不高,速来
  9. combres java_ASP.NET MVC3 Combres错误:'System.Web.Mvc.UrlHelper'不包含'CombresLink'的定义
  10. matlab曲线导入cad,MATLAB导入CAD数据
  11. 关于go module
  12. 【报告分享】品牌营销数智化转型白皮书-阿里研究院群邑GroupM(附下载)
  13. ArduinoIDE初步开发ESP8266时钟
  14. cesiumjs坐标经纬度转换
  15. 学习笔记(3):EXCEL VBA编程进阶-2.10 通过方法获取单元格区域
  16. 2022.06.23短学期mini2智行小车学习——初识ROS
  17. ChemDraw手机版_KingDrawAPP化学结构式编辑器
  18. Latex作者上标和通讯作者图标
  19. Cisco VPN出现Error 56的解决办法
  20. 【PHP】工银e缴费PHP版本对接?

热门文章

  1. 震惊!java中日期格式化的大坑!
  2. Java报错:java.math.BigDecimal cannot be cast to java.lang.String
  3. Framebuffer 画点,画线,画多边形,画圆
  4. oracle 变量赋值_【赵强老师】Oracle存储过程中的out参数
  5. java 分班_J 分班(class)(NYIST 2019年校赛)
  6. 路径搜索算法 python实现_A*算法在栅格地图上的路径搜索(python实现)
  7. fftw库 vs2019_FFTW库在VS 2010中的使用方法
  8. dblink 造成 oracle 服务器 内存_性能故障之内存抖动的诊断过程
  9. 玉林财经学校计算机及应用课程,广西玉林财经学校
  10. java static null,我们可以在Java中使用null对象调用静态方法吗?如果是这样,怎么样?...