Flutter 嵌套深、刷新乱?少年,你怕是连Flutter的门槛都没摸到!

19,008 阅读15分钟

引子:

鲁迅《摩罗诗力说》

人有读古国文化史者循代而下至于卷末必凄以有所觉如脱春温而入于秋肃勾萌绝朕枯槁在前吾无以名姑谓之萧条而止盖人文之留遗后世者最有力莫如心声古民神思接天然之宫冥契万有与之灵会道其能道爰为诗歌其声度时劫而入人心不与缄口同绝且益曼衍视其种人递文事式微则种人之运命亦尽群生辍响荣华收光读史者萧条之感即以怒起而此文明史记亦渐临末页矣凡负令誉于史初开文化之曙色而今日转为影国者无不如斯使举国人所习闻最适莫如天竺天竺古有韦陀四种瑰丽幽称世界大文其摩诃波罗多暨罗摩衍那二赋亦至美妙厥后有诗人加黎陀萨Kalidasa者出以传奇鸣世间染抒情之篇日耳曼诗宗瞿提WvonGoethe至崇为两间之绝唱降及种人失力而文事亦共零夷至大之声渐不生于彼国民之灵府流转异域如亡人也次为希伯来虽多涉信仰教诫而文章以幽邃庄严胜教宗文术此其源泉灌溉人心迄今兹未艾特在以色列族则止耶利米Jeremiah之声列王荒矣帝怒以赫耶路撒冷遂隳而种人之舌亦默当彼流离异地虽不遽忘其宗邦方言正信拳拳未释然哀歌而下无赓响矣复次为伊兰埃及皆中道废弛有如断绠灿烂于古萧瑟于今若震旦而逸斯列则人生大戬无逾于此何以故英人加勒尔ThCa rlyle曰得昭明之声洋洋乎歌心意而生者为国民之首义意太利分崩矣然实一统也彼生但丁Dante Alighieri彼有意语大俄罗斯之札尔有兵刃炮火政治之上能辖大区行大业然奈何无声中或有大物而其为大也喑中略迨兵刃炮火无不腐蚀而但丁之声依然有但丁者统一而无声兆之俄人终支离而已


朱自清《春》

盼望着盼望着东风来了春天的脚步近了一切都像刚睡醒的样子欣欣然张开了眼山朗润起来了水涨起来了太阳的脸红起来了小草偷偷地从土里钻出来嫩嫩的绿绿的园子里田野里瞧去一大片一大片满是的坐着躺着打两个滚踢几脚球赛几趟跑捉几回迷藏风轻悄悄的草软绵绵的桃树杏树梨树你不让我我不让你都开满了花赶趟儿红的像火粉的像霞白的像雪花里带着甜味儿闭了眼树上仿佛已经满是桃儿、杏儿梨儿花下成千成百的蜜蜂嗡嗡地闹着大小的蝴蝶飞来飞去野花遍地是杂样儿有名字的没名字的散在草丛里像眼睛像星星还眨呀眨的吹面不寒杨柳风不错的像母亲的手抚摸着你风里带来些新翻的泥土的气息混着青草味儿还有各种花的香都在微微润湿的空气里酝酿鸟儿将窠巢安在繁花嫩叶当中高兴起来了呼朋引伴地卖弄清脆的喉咙唱出宛转的曲子与轻风流水应和着牛背上牧童的短笛这时候也成天嘹亮地响着雨是最寻常的一下就是三两天可别恼看像牛毛像花针像细丝密密地斜织着人家屋顶上全笼着一层薄烟树叶儿却绿得发亮小草儿也青得逼你的眼傍晚时候上灯了一点点黄晕的光烘托出一片安静而和平的夜在乡下小路上石桥边有撑起伞慢慢走着的人地里还有工作的农民披着蓑戴着笠他们的房屋稀稀疏疏的在雨里静默着天上风筝渐渐多了地上孩子也多了城里乡下家家户户老老小小也赶趟儿似的一个个都出来了舒活舒活筋骨抖擞抖擞精神各做各的一份事去一年之计在于春”刚起头儿有的是工夫有的是希望春天像刚落地的娃娃从头到脚都是新的它生长着春天像小姑娘花枝招展的笑着走着春天像健壮的青年有铁一般的胳膊和腰脚领着我们上前去


张风捷特烈《那一世你我所见的榕桦》

那一世你我所见的榕桦亡灵之歌张风捷特烈序:你曾经也追逐过似锦的繁华为了虚荣和名望你也梦到过虚幻的国度在那里建立了国家你曾经也拥有过勇士与子民享受信任与敬仰你曾经也抛弃过那里不顾任何人的挽留与劝谏你曾经也询问过我生命的意义你曾经也寻找过真正的光芒你曾经视死如归你曾经也惧怕消亡你游于大海你奔向太阳你困于内心你死于荒漠闪耀的曾经如今我的朋友孤傲的亡灵你仍独坐沙丘面对自己的骸骨重复地诉说下一世我会让你成为真正的王者一仪式火焰诡异的身影像两条火龙围绕左右王杖上延一直延伸到顶端剑直立在双杖中间凄凌寒刃尽显不世威严闪烁在剑上的红色是炙火的身影黑色是亡者的英灵火焰和亡灵在风吟中肆意地狂舞颤动我读着书中为世人所不知的文字让黑色和红色在剑上几近疯狂它们兴奋它们渴望它们愤怒它们要吞尽一切而我的心却是如此平淡仿若静水流涓剑背上正如预言亮了两颗白点我知道那是谁的眼睛王你的眼已洞悉了万年我在召唤你在呼唤我们的声音是如此相称和弦这场仪式当我们共鸣合演我承接了那颗白瞳一步一步我默然走入剑中前方是三千里的黑暗黑暗后是八万里的混沌再之后是你我的故土岁月更迭千古故土上还能否重见你牵丝勒马还能否再见那一世你我曾见的榕桦二黑暗黑的可怕不在于一无所有而在于一无所知进入剑中眼前的这片黑暗远比黑色本身来的更加厚重不见一物却又不是空无一物摸着一棵棵树不断行走是森林亡灵在诉说被囚禁在黑暗中的万物亡灵徘徊在森林上空他们哭诉哀鸣至情的控诉让我的恐惧全然消失于黑色之中而剩下的只有这绵延三千里的凄伤哀嚎万灵泪落泣雨却未湿我分毫我的心早已随之相合遍哀意世间之极大善者至死无归控诉之音戚戚弥弥三千里的雨啊汇成的这股黑暗身于其中的我还有什么好说呢那就不言吧至少留得一片寂所至少留得一份虔诚来致以他们挚深的悼念黑暗不见边际而我是知道的它的距离三千里三千里是你心的宽度是你善的行途至少我要守护这里的一切这三千里的和平这是我听到你说的第一句话沙孤烟一人独战关前退敌十万你做到了守护了这里你是这三千里的王却也仅仅是这三千里而已够了已经足够了可为什么还是三风境你问过我什么是混沌我说差不多就是黑暗吧你却摇头望着天际没有说什么走过了三千里的黑暗我才见到真正的混沌它远比黑暗要复杂却远比黑暗来的纯粹混沌是你八万里的愤怒是你无尽的野心与征途黑风夹杂着狂沙尽是你的欲望吹出了这八万里混沌的风境这里已不是哀嚎空气中旋卷的风沙是亡灵的咆哮遍怒息世之普众未尽之命终于剑锋八万里的生灵含血痛含恨终他们永远不会原谅那道冰冷的寒刃那份无情的死亡混沌里他们寻觅王的身影对你施加着七千年的诅咒我独自走在这无际的混沌之中承受着怨灵对精神的削割风卷沙袭一步一刃一刃一痕也罢毕竟这个躯壳里也装着你的灵魂你的罪你的业我又岂可不偿这八万里我走得缄默走得无言最终走得精疲力尽倒在了你的罪孽中诅咒让我无法站起身体被风沙淹没一层又一层我开始自问是否值得这一行途透过风沙的间隙依稀中看到了那棵榕桦巨树我伸出手却感觉永远无法触及榕桦你我的归宿终究还是回不去了吗就这样沉沦沉沦不知几时四白鸟俄而啼名震天响黑风涌白鸟腾空肆翱翔霎时天变风卷尘沙尽冰霜万里冰封海石击冰伤白鸟振翅唳啼冰碎三千烈火焚冰逝水燃尽化影归阳昏迷在这片混沌之中我已辨不得何真何幻只觉得那幻觉中榕桦巨树的顶端飞下一只白鸟它的身影遮蔽了我能目及的一切再之后便一无所知当我醒来已身处一片白羽之中白鸟在风沙中行走一步一印向着那个遥远的地方那一世的记忆翻涌还记得吗王那伴你一世不弃的挚友耳侧依稀回白鸟叹词白鸟爪利喙尖怒视蓝眼饮水食草可活百年身长六米纯洁白羽神态清新秀丽愤世俗当为人所养绝世而亡百年间无人可养其三日后而有诗文曰‘铮铮兮白鸟凌凌兮清魄释然兮本心暗暗兮灾祸’相遇又是如此的偶然鸟之悲鸣笛之哀音昔日断崖上的鸣笛合奏悲恸天地失去了一切的王与失去了所有的白鸟同样的孤独奏音三日雨落三日人鸟共泣笛音休鸟鸣止风雨骤停五尽头一路仍是无言却已非沉默更多的是二者的默契万年后灵魂的相逢即便有千言万语此刻也恰似无言彼此已经知晓莫不出一个念字九圣剑圣剑从圣湖中浮起的那刻带回了所有的荣耀正如曾经圣剑沉入湖底将它们全部带走一样王你站在湖中凸起的高地将剑高举胜利映含着烈阳的辉迹闪烁无尽荣耀圣湖之外站满了你的子民也许这就是你期盼了万年的相聚你举起剑誓约着胜利无人欢呼无人汹涌空旷的圣湖已悄无一物唯有圣剑直立地下剑尖劈断的种子不断成长万年后的今天我一人站在圣湖之地仰望的这棵无边巨树这就是那一世你我曾见的榕桦我释放了你的灵魂你划出了一阵清风魂丝凝结浮云环树盘旋而上如若白色的细长游龙最后消失在榕桦无尽的顶峰榕桦漫天飞瓣蓝色的花散发着洗涤灵魂的清气我触碰着树干感知着它生命跳动的韵律树心中的那把圣剑逐渐粉碎八千里的混沌三千里的黑暗中无法安身的亡灵划出一道道红迹栖身榕桦我知道这是我见过最美的风景十榕桦一个灵魂承载着一首悲歌一个灵魂上演着一场传说时光在风烟中飘过再回首纵万年几人堪将轮回看破任务完成了我睁开眼回到了圣剑的前面王杖上的火焰已经熄灭亡灵已平息怒火王的灵魂也归宿榕桦守护着他的国度我将剑还给了它的主人身负另一个灵魂继续谱写着另一首亡灵之歌而这次又会有怎样的风景再见一段怎样的传说

请问各位,你看懂了吗?


一、Flutter说:"你写文章不打标点,你说看不懂,你说乱,怪我喽?"

不用质疑笔者在写作方面的造诣。其实写小说和编程很像,你必须对结构了解清晰
然后拆分层次,分析关系,如何让个对象之间相互协作、组合。你以为编程是张口就来?
Flutter中一个组件就像相当于一个段落,组件的呈现就相当于读者的阅读效果
想让读者读懂,你不分段,不加标点,你怪谁?怪我喽
一页屏你一个组件全包含,什么东西都拼在一起,你怕不是还在面向过程哦
你能看懂,能复用才怪呢。一把神剑你非握着剑刃,用剑柄去捅人?

少年,生命宝贵......


二、Flutter说:"Widget封装一下,拆分一下,ok? 拆一下又不会怀孕"

哥们,别上来就写代码,需要啥界面就套一个Container,套一个Column,套一个Row
先分析好有哪些块,有哪些组件是高可用的,哪些是项目专属的。封装一下,你之后的修改将受益无穷
比如一个AppBar的搜索框,你直接塞到里面,整个Widget又要增加处理监听的逻辑。你想熬出八宝粥,就别想吃到莲子纯正的味道。 用户不需要莲子,你一个个把莲子挑出来?
封装一个组件,随用随设,不想要,一行注释搞定。想修改,到专门负责该视图的地方。哪里出了bug很容易定位。


三、Flutter说:"别再问StatefulWidget 和 StatelessWidget 有什么区别了 ,就问你脸不脸红?"

下面是笔者的专属类比,贴图以示:只准看,不准动


四、Flutter说:"连Flutter的门都没摸到,你还玩状态管理?玩不转,到处刷新才怪我喽?"

很多人一上来就是玩Provider、Redux、Bloc。 哥们,为啥要状态管理你造吗?你在管理啥,莫不是在和空气斗智斗勇?还是看别人写啥你写啥? 然后稀里糊涂就去用,刷新乱了就说Provider垃圾、Redux垃圾、Bloc垃圾,Flutter垃圾,怕不是你自己在垃圾桶吧。 不会用,用不好不是你的错,但拿出来说就不对了。先掂量一下你有没有资格去评论什么的好坏。没有坏的工具,只有用不好的人。人家用的6着呢,你用不好,只能说明一点,你是...

除非你是XXX的开发人员,否则别遇到点毛病就乱吠,都是成年人,看问题全面一点,处理问题,先内省。骂骂咧咧的,没有任何意义。没有人会纪念你“骂的”多么伟大,别人在真香的时候,你就用眼看吧...

前半个月不要碰状态管理,把布局玩6了,把异步和流整得明明白白、文件操作,网络访问搞定。房子还没盖起来呢,就考虑你私房钱藏在哪个角落?也许是现在的少年太浮躁了,总想一步登天,11天学会C++,21天精通Java, 一刀下去等级999,你怕是连门都没摸到!编程并不等于语法,看别人的不等于你会了。沉迷在寻找捷径,寻找方法中的少年,醒醒吧...一步一个脚印,是最短的捷径。

想学习,先拿出学习的态度。少躺在被窝里看电视,少打几把游戏,路上刷刷博客,看看正经的新闻,晚上睡不着,看看高等数学,离散数学,有助入眠。早上醒早点,混沌中,灵感爆棚期,分析一下事物之间的联系,将知识关联......多思考,多动手;别只是眼镜看,耳朵听......


尾声

很多人提问"章口就莱",提问的正确打开方式,你需要给出:

1.应用场景:说明你不是在拿我寻开心
2.你对问题的了解:哪出现了问题,先别问别人,先问自己,说明你做了这点
3.脱敏后的小demo:写个小demo测试一下,也许是你项目的锅。
4.如果觉得问题太小,没必要做前三步,请自行解决。

如果你觉得可以接受上面四点,欢迎加入:编程技术交流圣地[-Flutter群-]
否则,连提问都不虔诚的人,没有什么交流的意义。

@张风捷特烈 2019.12.14 未允禁转
我的公众号:编程之王
联系我--邮箱:1981462002@qq.com --微信:zdl1994328
~ END ~


附录,去除标点符号的正则: [,。?""(()《》.`…————;:“”?;>·\s]