当前位置:网站首页>快速做出原型
快速做出原型
2022-07-02 06:36:00 【dog250】
给定五六个维度约束下对比两个软件的表现,要用数据说话。这五六个维度,不限于丢包率,固有延时,抖动等。
若两个维度,一张表格即可展现,若四个维度,一个四维立方体可以展示,二维单元格里存放另一张二维表可等价,但已很难看了。六个维度怎么办?任何人都想象不到六维立方体的样子,也无法再容忍套娃二维表格。
裸数据有了,纠结于展示,这典型地犯了唯心主义的错误,坠入了形而上学的深渊。纠结于如何展现前,其实心里已经有了希望它展现成的样子,只是不知道如何做,这个样子可能是经理的要求,也可能只是大家都这么展现,只是跟风。
如果没有展现需求,裸数据怎么摆?总不能随意散落吧。
MVC 专门解决这个问题。
我十几年前接触过这概念,但从没刻意使用某些背诵下来的原则设计过什么,十多年职业生涯竟然让我的做法一下子就符合了 MVC 范式,这可能就是职业训练的力量,或者叫 1 万小时定律,肌肉记忆,无论什么词。
我是这么想的。在考虑如何展示之前,我要先把裸数据用一种方便检索的方式保存在某个结构化容器,这个容器永远摆在某个地方,展现数据时,根据需要展示的字段检测该容器。如此一来,存储,检索,展示完全解耦,互不依赖。
展现最终成了一个自然的结果,不局限在表格,也可是各种图。展现与数据彻底分离。
为了不依赖数据库设计(主要还是我自己不会,依赖他人合作可能会造成沟通延迟),我需要自己编程来实现数据结构的设计及数据存储,检索。编程高手可能会立刻行动,但我不会编程,又想快速出一个原型。
我是这么做的。利用文件系统的 tree 结构,为了快速检索,可以采用 ramfs。
- 在 ramfs 里构建一棵按照维度组织的目录树,每个维度一个层。
- 多层目录树的叶子即一个文本文件,保存落在该维度坐标的裸数据。
- 通过 ls, cat, echo, grep/sed/awk, find, basename 等命令对该目录树增删改查。
- 将 shell 命令检索的结果喂给前端展示程序,实现展示。
如下图:
ramfs 里摆置一棵目录树的效果跟写个程序实现 tree 结构的增删改查效果完全一致。不过,若不理解快速实现原型意味着什么,这做法肯定会因性能不佳而被猛怼,我想诘问,整天性能不离口的,到底要错过多少好东西才肯承认性能是最后不得已才要考虑的。
ramfs 里摆置一棵目录树的效果跟 SQL 检索设计好的数据库的效果完全一致。anyway,ramfs 里摆置一棵树,SQL 检索数据库,编程实现 tree 结构增删改查,都是实现同一个目标的手段,若要出原型,当然哪个快用哪个。目标不是写一个高性能的,健壮的程序,而是存储,检索以及展示一堆多维度的裸数据。
编程的本质是组合逻辑,而不是采用什么语言,采用什么技法。快速做一个原型,需要摒弃这些细枝末节,同时必须解除目标和手段之间的强关联,这并不容易。
从十几年前开始,甚至大学时就读过很多关于设计模式,MVC 的书,但工作后几乎从没有涉及过相关的。虽不相关,但潜移默化中却一直都在做分层,解耦合,模块化的工作,最终形成了 “肌肉记忆”。分得清层次,拎得清主题,而不是说什么论什么,才能高效解决问题。比如,早上发了一则朋友圈“追求大而全的背后是缺乏安全感,刚刚好,不多也不少才是最高尚的。只可惜能理解这一点的人非常少。包括很多物质上很富有的人,几百平的大房子里也是堆得满满的。超过十几天用一次的东西根本不必要拥有。总想什么物件都囤着,以备不时之需,堆一堆东西反而丢失了空间,这就是没有安全感。企业也是,什么都做,一律追求做大做强,也就尾大不掉了。buffbloat,aimd不也是囤字节导致的么,即使是bbr这种思想,人们还是想能多发一个字节就多发一个字节。没办法,小而美,刚刚好,是不被理解的,很遗憾,没有安全感是因为有种观念在驱使,必须争抢,不然就落后了,这是狼多肉少环境的必然,简单说,不安全感的结果,就是一个字,卷。” 我的初衷是 “在比较160平大户型,330平大平层,410平别墅后的感慨,根据自己的需求,够用就行,还是越大越好?” 结果因为文中有个 bbr,大家就集中在 bbr 讨论,却忽略了本体。不得不说,这是程序员的通病,甚至可以说是毛病,程序员只盯着自己能直接看明白的那几个词,有点像卓别林用扳手拧姑娘裙子上的纽扣。所以难免会丢失大量真正有用的信息,从而错过原型的本质,更别提快速做出来了。够用就行?还是越大越好?我相信没有理由不选择后者。写点想法。
浙江温州皮鞋湿,下雨进水不会胖。
边栏推荐
- Large neural networks may be beginning to realize: the chief scientist of openai leads to controversy, and everyone quarrels
- ue虛幻引擎程序化植物生成器設置——如何快速生成大片森林
- Ue5 - AI pursuit (blueprint, behavior tree)
- 2.14 is it Valentine's day or Valentine's day when the mainstream market continues to fluctuate and wait for changes?
- 【UE5】AI随机漫游蓝图两种实现方法(角色蓝图、行为树)
- Remember a simple Oracle offline data migration to tidb process
- About the college entrance examination
- Webui automated learning
- pytest--之测试报告allure配置
- Allure -- common configuration items
猜你喜欢
[unity3d] nested use layout group to make scroll view with dynamic sub object height
【虚幻】过场动画笔记
2021-10-04
Blender多镜头(多机位)切换
webUI自动化学习
[Yu Yue education] University Physics (Electromagnetics) reference materials of Taizhou College of science and technology, Nanjing University of Technology
[illusory] weapon slot: pick up weapons
Beautiful and intelligent, Haval H6 supreme+ makes Yuanxiao travel safer
07数据导入Sqoop
Basic notes of illusory AI blueprint (10000 words)
随机推荐
It is the most difficult to teach AI to play iron fist frame by frame. Now arcade game lovers have something
Introduction and prevention of penetration test
Blender multi lens (multi stand) switching
Pytest-- test report allure configuration
07数据导入Sqoop
Blender多镜头(多机位)切换
虚幻AI蓝图基础笔记(万字整理)
Post disaster reconstruction -- Floyd thought
[200 Shengxin literatures] 95 multiomics exploration TNBC
Blender camera surround motion, animation rendering, video synthesis
[Fantasy 4] the transformation from U3D to UE4
[visual studio] every time you open a script of unity3d, a new vs2017 will be automatically reopened
Edge computing accelerates live video scenes: clearer, smoother, and more real-time
合并有序数列
Metaclass type and using metaclass to implement model class ORM
[unity3d] production progress bar - make image have the functions of filled and sliced at the same time
UE5——AI追逐(蓝图、行为树)
【Unity3D】无法正确获取RectTransform的属性值导致计算出错
A model can do two things: image annotation and image reading Q & A. VQA accuracy is close to human level | demo can be played
Notes de base sur les plans illusoires d'IA (triés en 10 000 mots)