参考-任务

有一些任务是人们经常面对的,这往往涉及功能的实现,而这些工作又可以分解为更小的工作。如何思考这些任务,一个思路是:在具体任务上往往会涉及后端人员的交流,考虑后端人员会要求什么。一个思路是:将任务分为更小的任务,将工作分为更小的工作,每一步解决了 整体就解决了。一个思路是:当你想要接手更复杂的任务的时候,先把手头的简单任务完成。一个思路是:简单的任务 虽然在完成之后获得的经验值低,但也可能卡你卡得很难过,复杂的任务 虽然在完成之后经验值高 而且和简单任务没啥联系,但却需要你有更周全的考虑(这时候你会不会回想起来一些东西?),仅对于这一个复杂任务而言,由于可能出错的地方太多了,你在保证每一个地方别出错,然后在此基础上(人们消费这个不出错的阶段性成果),(由你负责或由别人负责)来对关键点进行攻关,最后完成这一个任务。
虽然软件开发任务类目繁多,要求很高,但其它工作对人们提出了类似的要求,人们为了满足工作要求,也有了类似的技能。比如 当你想要 take challenges, take more responsiblities, 先要把手头的工作做好。你不满意于当前太简单的工作,所以想要新工作,这是非常合理的。

“显示”
变量赋值和修改
将变量打印在模板里 variable interpolation

“更新”
取得想要更新的字段
更新字段
同步更新字段并立刻显示
异步更新字段并等待显示

“组合”
在一个组件里显示另一个组件 (消费)
根据变量值显示或不显示组件 conditional render
templating system 常见功能 (require, yield)

“事件”
按钮按下 触发事件处理器 event handler

“信息传递”
来自其它模板的变量 来自其它组件的变量
js 变量可以是变量也可以是函数


模板语言 templating system
引入 require
yield
判断
循环


控制流程
判断 (根据某变量 显示或不显示某变量 某元素 某组件)
循环 (循环显示一个变量 一个元素 一个组件)


标签
标签内容赋值
attribute 赋值


通信
组件和组件通信
dumb 和 smart 通信
组件们和公共对象通信 (服务或其它)
跨组件通信 1

通信优化
避免不必要的对象生命周期判断 1 (interception system)
避免不必要的传值 (render system, props drilling)
避免事件导致无关组件渲染 (colocation)

渲染优化
检测组件渲染发生时刻 1
降低组件渲染次数
哪些情况能引起组件渲染
哪些情况能引起子组件(子元素)渲染
普通组件: 是否有必要作渲染优化 (降低组件渲染的收益 何为 expensive tree)
列表组件: 列表元素的跟踪 (key, trackedBy)

参考1
GUI https://github.com/iced-rs/iced

参考2
HTML templating system
可以参考 rails 或 ember.js

参考a
可能的作用0
有助于帮助打比赛
https://www.frontendmentor.io/

参考a
可能的作用1
有助于帮助复习
Asking candidates technical questions in both the Accounting and ICT industries is becoming a standard practice. In addition, some really desirable companies to work for, like Google, Facebook, Apple and others, are known for putting candidates through elaborate tests involving the use of sophisticated coding or logical reasoning. These questions are designed to judge your technical aptitude, logical reasoning skills and find out how you would use a particular software or perform technical tasks that you may encounter on the job. For this reason, it’s a good idea to revise key elements from your university studies or actively participate in online forums, as it is quite likely that you may have forgotten some technical procedures.

可能的作用2
don't push it too hard, and quit. push it slowly, and carry on.
他的一个经验在于,他按照学习 react 框架的思路来学习 angular 框架,从组件开始看起,组件套组件,组件传递数据。但最后他发现他错了,因为对于常见功能是如何实现的,他并不熟悉。改进的办法有两个,第一是多写 写废稿 不要追求完美主义 也不要有太高期待 总会一遍遍变好的,第二是看出整个事情是那种做一件事情并不止有一种办法的情况 然后走基本入门-功能实现-最佳实践的路线,第三是看清这并不是一个框架该做的事 它是一门语言 这意味着基本控制流程的掌握应该是闭着眼睛就可以写出来的,否则它将会成为熟练与否的障碍。这是他可以提高的地方。

思想与实操还是差得远了点。经验 可积累的经验(通过小任务)是宝贵的,是一手资料。思想固然重要。对任务理解的偏差,尤其是由于类比或高屋建瓴式认识导致的对任务理解的偏差(和轻视),会导致小任务12没法完成。这有什么后果?它会导致可积累的经验不到位。这有什么后果?如果单知道经验,但无法发挥出经验的最大价值。如果单知道思想,但无法发挥出思想的最大价值。一种可能性是:经验和思想,结合在一起,可以发挥最大价值,同时完成一个个小任务和大任务。小任务做得快 大任务做得稳(计划得好),任务之间不互相影响。

可能的作用2
对语法的关注带来一种确定性,而这种确定性会开启很多可能性(好事坏事都会在这种确定性之上),其中某一种或某几种可能性会通向我最想要的可能性。也就是说‘最想要的可能性’的构想是自由的,但它的落地不是自由的,而是多方提供支持的:当能灵活调度多方的时候,它是 adapted version 的自由的。

可能的作用3
如果是语言级的,有助于帮助语言学习
https://v2ex.com/t/839895#r_1...

可能的作用4
有时候你觉得你在写组件并实现你想要的功能。有时候你认为遇到的障碍会被分成如下几个类型并被解决或边用边学:
有时候你发现你得先学一门语言 类似 lpthw ,然后用这个语言做事,最后你再开始学一个框架提供的控制流程 因为有控制流程 所以也非常像一门语言,然后用这个框架做事,最后做到你想要的功能


changsj
211 声望11 粉丝

changsj.


下一篇 »
rxjs

引用和评论

0 条评论