- 主题:[供给侧]一个开源项目(xserver)18年前的一次重构 (转载)
Very kind of classic OCP usage.
--
FROM 219.142.232.*
小朋友,我劝你谦虚一点
【 在 xieyf 的大作中提到: 】
: 无语,一把重构了了事,这点破事还整出一次“史诗级”重构
:
--
FROM 223.72.63.*
其实不能一概而论的。。
这里涉及到 xserver 的实现思路,总得来说他们好像是不断地扩充了“插件”的内涵,直到当年已经有一大堆了。。然后估计他们意识到性质变了,已经不是 hello windows, hello mac , hello linux 那种事了。。
a series of order 也有优点的,尤其是一些完整性是内聚的不能“扩展”的场合,保持 a series of order 甚至是正确性和算法可以结束的基础。(一时半会我也说不出来)
【 在 DoorWay 的大作中提到: 】
: 你说的对。
: 我也在尽量避免混淆,引用了其中一句,“将过程转化为数据结构”
: a series of order —> data structure (and the algorithm that operates them)
: ...................
--
FROM 223.72.63.*
这里是史诗级的重构的原因在于,这次重构标志着他们对 xserver 这样子一个项目的理解接近承认,其内部的功能已经被认为是清晰的(不然无法改成数据结构)
这跟那种一上来先搞一套“数据结构+算法”没有太大关系。主要的意义在于面向过程和面向对象的关系如何被把握,这个被把握的问题才是“史诗级”的前提。
简单来说,这里体现了一种深邃的辩证法,作为结果的代码的变革的背后的思想的变化才是我评价的关键,不是设计模式的“应用”的问题,而是“设计模式”的原理的问题。
--
FROM 223.72.63.*
反正我写不出来。。
源码有个文档的,感觉可以看一下……
由于需求已经梳理了,肯定比他们当年从0开始简单。。但是没有机器学习啥的,主要是熟悉各种硬件软件的接口,然后健壮性和兼容性怎么能搞好……
反正我现在做不出来……
跟设计模式没啥关系,就算知道全部设计模式了,也就是有了个框架,其他的不懂还是一行都写不了……
【 在 hgoldfish 的大作中提到: 】
: 弱问。重写一个 xserver 难吗?
:
附件(1012.7KB) 2508618--
FROM 223.72.63.*
十几年前C项目里面也是这样写的。
这个很稀奇吗?当年一堆书介绍过这种写法,什么c oop, c interface之类的
--
FROM 153.99.92.*
wayland算xserver对标物吗?我看从发起到现在的成熟度,是非常难的。
当然可能是没有金主没有动力。
当年chrome说横空出世就出世了。 火狐就稀里哗啦了…… 刚查了下,7.69%
【 在 darkk 的大作中提到: 】
: 反正我写不出来。。
: 源码有个文档的,感觉可以看一下……
: 由于需求已经梳理了,肯定比他们当年从0开始简单。。但是没有机器学习啥的,主要是熟悉各种硬件软件的接口,然后健壮性和兼容性怎么能搞好……
: ...................
--
FROM 1.80.222.*
你这个史诗级,是红军二万五千里的史诗,还是敏捷开发里的epic?
这个被把握的问题,是“Plugin”即插即用的架构设计吗?
没懂你为何这么拔高。
【 在 darkk 的大作中提到: 】
: 这里是史诗级的重构的原因在于,这次重构标志着他们对 xserver 这样子一个项目的理解接近承认,其内部的功能已经被认为是清晰的(不然无法改成数据结构)
: 这跟那种一上来先搞一套“数据结构+算法”没有太大关系。主要的意义在于面向过程和面向对象的关系如何被把握,这个被把握的问题才是“史诗级”的前提。
: 简单来说,这里体现了一种深邃的辩证法,作为结果的代码的变革的背后的思想的变化才是我评价的关键,不是设计模式的“应用”的问题,而是“设计模式”的原理的问题。
--
FROM 1.80.222.*
"格林斯潘第十定律"(Greenspun's Tenth Rule):
"任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、只有一半功能的、不完全符合规格的、到处都是bug的、运行速度很慢的Common Lisp实现。"
【 在 darkk (darkk体国经野 义尚光大) 的大作中提到: 】
: 【 以下文字转载自 SoftEng 讨论区 】
: 发信人: darkk (darkk体国经野 义尚光大), 信区: SoftEng
: 标 题: [供给侧]一个开源项目(xserver)18年前的一次重构
: ...................
--
FROM 125.36.118.*
这就是十八年前的代码啊 = = 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
【 在 alextooter 的大作中提到: 】
: 十几年前C项目里面也是这样写的。
: 这个很稀奇吗?当年一堆书介绍过这种写法,什么c oop, c interface之类的
--
FROM 36.102.208.*