建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复
发表于2020年08月04日 20:26:01
直达本楼层的链接
41#
显示全部楼层

微信昵称:七七先生

华为云账号:hw75404137

程序员修炼之道


Day2:软件编程基础工具


16、纯文本的威力


将知识用纯文本保存,纯文本不会过时,它能够让你的工作事半功倍,并能简化调试和测试工作


17、Shell游戏


发挥Shell命令的威力,当图形化界面胜任时,使用shell


18、加强编辑能力


游刃有余的使用编辑器,知道如何用它更快更准确地实现需求


19、版本控制


永远使用版本控制,为你的工作创造一个时间机器,可以用它重返过去


20、调试


去结局问题,而不是责备,无论是不是你的失误,都尽量去修复它


不要恐慌,不管面对什么问题,一步步走,慢慢调试


修改代码前先对代码进行测试,让你专注聚焦于修复一个真正的bug


读一下出错信息,大多数异常都能告诉失败的原因,所以我们一定要学会读错误信息,可以帮你快速定位错误的地方


“select”没出问题,bug大多出现在应用程序中,而不是操作系统或者编译器


不要假设,要证明,要找到真正错误的地方,而不是假设这里错了


务实的偏执


21、文本处理


学习一门文本处理语言


22、工程日记


你无法写出完美的软件,对于在所难免的错误要学会自己记录,避免犯同样的错误


23、契约式设计


通过契约进行设计,打码是否不多不少刚好完成它要完成的事情


24、死掉的程序不会说谎


彻底死掉的程序通常比有缺陷的程序造成的损害要小


25、断言式编程


让不可能发生的事情一定不要发生,保护你的代码


26、如何保持资源的平衡


有始有终,有责任的释放资源


27、不要冲出前灯范围


小步前进,由始至终,小步前进,不要着急,反复调整自己的代码做到最优


宁弯不屈


28、解耦


解耦代码让改变更容易,相反,耦合会让事务紧紧绑定在一起,很难只改变其中之一


只管命令不要询问,不要从对象中取出值,在加以变换后再塞回去,让对象自己来完成这些工作


不要链式调用方法,当访问某物时,使用的点号不要超过一个


避免全局数据,最好给每个方法增加一个额外的参数


29、在现实世界中抛球杂耍


不同状态之间进行转化连接


30、变换式编程


编程讲的是代码,而程序谈的是数据,所有的程序都在变换数据


不要囤积状态,传递下去,不要把数据保持在函数或模块中的内部拿出来传递下去


31、继承税


不要付继承税,考虑用接口委托等方式代替继承


计量多用接口来表达多态,接口就能明确描述多态性


用委托提供服务:“有一个”胜过“是一个”,不要从服务中继承,应该包含服务


利用mixin共享功能,mixin不必承担继承税就可以给添加功能而与接口结合可以让多态不再令人痛苦


32、配置


使用外部配置参数应用程序,在外部维护这些可能还需修改的应用程序

PRSK{(QH_80N%@7RTSM~_KP.png

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

与代码共舞

发帖: 0粉丝: 0

发消息 + 关注

发表于2020年08月04日 22:06:10
直达本楼层的链接
42#
显示全部楼层

Day02

华为云账号:hw04954090

微信昵称:Mr


1.      软件编程基础工具:

纯文本编写:文本处理能力

 

shell游戏:实现游戏的界面,做结构化程序设计

 

加强编辑能力:版本控制能力

 

调试:

        去解决问题,而不是责备

        不要恐慌

        先测试,再修改

        二分法、排除法、写日志

       

2.      务实的偏执:

文本处理:

 

工程日记:

 

契约式设计:能够对要设计的程序有一个总体的把握

 

死掉的程序不会说谎:说明这里有问题,需要立即解决

 

断言式编程:做一些假设,预防不可能的事情

 

如何保持资源的平衡:资源的分配问题,cpu、内存、硬盘

 

不要冲出前灯范围:任何程序的开发都不是一蹴而就,而是要稳扎稳打

 

3.      宁弯不曲:

解耦:降低事物之间的耦合度,如前端后端、模块间、全局等之间的耦合,以及要避免使用一些全局的变量

 

在现实世界中的抛球杂耍:不同事件、状态之间的内容转换,链接,基于事件流程的编排,即是一些常识性的东西了解之后,便于之后的应用

 

变换式编程:可以用一些工具来解决一些转换

 

继承税:面向对象----继承,强耦合的不利因素

 

配置:ip,端口设置等基础参数配置,自己需要有所了解

 

感悟:

       感觉有些现在自己还不是太懂,可能以后就会懂了吧!

       今天讲的是程序员应该有一些基本能力,比如文本处理、一些工具的使用、一些基础知识的了解和基本的心理素质,编程时正确的流程和方法。

       对于一些工具什么的,自己可能需要在以后的时间里慢慢去积累。还有就是自己的文本处理能力,有一点,但可能换不算很好,需要去加强。心理素质的锻炼需要在具体的实践中来不断提升。

对于一些编程的注意事项对我很有启发,就像解耦啊、以及强耦合会产生一些不利因素,自己也没做过什么大项目,这些是我所不知道的。还有在编程的时候要稳扎稳打,出了问题,要立刻解决,防止引发更大的bug,以及资源的合理分配,对软件开发的整体把握这都是一个优秀程序员必备的素质,之后需要向这方面努力。

最后就是感觉老师讲的很好,很有深度,如果能更通俗一点,结合一些实例来讲的话,那就更好了,谢谢老师,老师辛苦了。


点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

malik

发帖: 0粉丝: 0

发消息 + 关注

发表于2020年08月04日 22:08:39
直达本楼层的链接
43#
显示全部楼层
#### 读书笔记Day02:编程软件的认知 **华为账号:malik** **微信昵称:程珹** --- ##### 1.基础工具 16.纯文本的威力---将知识用纯文本保存 17. Shell 游戏---发挥 Shell命令的威力 18. 加强编辑能力---游刃有余地使用编辑器 19. 版本控制---永远使用版本控制 20. 调试 a) 去解决问题,而不是责备 b) 不要恐慌 c) 修代码前先让代码在测试中失败 d) 读一下哪些该死的出错信息 e) “select”没出问题 f) 不要假设,要证明 ##### 2.务实的偏执 21. 文本处理---学习一门文本处理语言 22. 工程日记---你无法写出完美的软件 23. 契约式设计---通过契约进行设计 24. 死掉的程序不会说谎---尽早崩溃 25. 断言式编程---使用断言去预防不可能的事情 26. 如何保持资源的平衡---有始有终,在局部行动 27. 不要冲出前灯范围---小步前进,避免占卜 ##### 3.宁弯不折 28. 解耦 a) 解耦代码让改变更容易 b) 只管命令不要询问 c) 不要链式调用方法 d) 避免全局数据 e) 如果全局唯一非常重要,那么将它包装到AP中,但是仅限于你真的非常希望它是全局的 29. 在现实世界中抛球杂要 30. 变换式编程 a) 编程讲的是代码,而程序谈的是数据 b) 不要囤积状态,传递下去 31. 继承税 a) 不要付继承税 b) 尽量用接口来表达多态 c) 用委托提供服务:“有一个”胜过“是一个” d) 利用mixin共享功能 32. 配置---使用外部配置参数化应用程序 #### 感悟 契约式设计规定了权利和责任,同时也保证对方的权利和责任。利用DBC这种契约或规范是确保双方能达到共识。使用断言检验出代码的异常。编程是在讲编代码,而程序是数据的输入与输出!还有些工具的使用,如操控文本的命令、文本编辑器或shell都能在编代码时事半功倍。
点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复
发表于2020年08月05日 00:06:26
直达本楼层的链接
44#
显示全部楼层

云享读书会-程序员修炼之道day2--软件编程认知

华为云ID:bird_green

微信昵称:王广学

今天老师讲解了软件编程的认知,从软件编程的基础工具,务实的偏执和宁弯不屈三个方面17条原则讲述了对软件编程的认知。

其中软件编程的基础工具有以下5个原则(序号接day1中的原则)

16. 纯文本的威力:纯文本不会过时。将知识用纯文本保存。发挥好纯文本的威力,可以简化调试和测试工作。

17. Shell游戏:shell命令是强大高效的。

在我的日常工作中也经常会用到shell命令来解决一些图形化工具无法解决的问题。

18. 加强编辑能力:编辑器是至关重要的工具。

正如俗语所说磨刀不误砍柴工,要充分发掘工具的效能,更快更准确的实现需求。

19. 版本控制

    版本控制的重要性不言而喻。在当今云行天下的环境下,远程办公,异地协同办公等都离不开版本控制。通过版本控制我们可以很好地管理代码,很容易的对代码进行创建分支,合并,revert等等操作,可以把不同环境的代码区分开来,十分方便。

20. 调试

调试的目的是解决问题而不是责备;调试时不要恐慌;毕竟人脑和机器不同,不要假设,要证明。

务实的偏执:包括7个原则

21. 文本处理:学习一门文本处理语言,让计算机帮助分担

22. 工程日记:没有完美的软件,对于在所难免的错误,要保护代码和用户免受其影响。通过工程日记来记录这些“点点滴滴”。

23. 契约式设计:通过契约进行设计。对于代码实现的功能是否和之前的“约定”吻合,通过契约加以校验和文档化。

24. 死掉的程序不会说谎:尽早崩溃。通常彻底死掉的程序比有缺陷的程序造成的损害要小。个人认为对于这个原则可能需要权衡。

25. 断言式编程:使用断言去预防不可能的事情。

26. 如何保持资源的平衡:要做到有始有终。只要有可能,要做到谁申请资源谁就有责任去释放。在局部行动,将易变的变量维持在一个范围内,打开资源的过程要短暂且明显可见。在日常工作中会遇到内存泄漏的问题,如果遵守这个原则就会减少内存泄漏的风险。

27. 不要冲出前灯范围。由始至终小步前进。永远小步前进,不断检查反馈。避免占卜。只在能看到的范围内做计划。

宁弯不屈:包括5个原则

28. 解耦

   解耦代码让改变更容易;只管命令不要询问;不要链式调用方法;避免全局数据

29. 在现实世界中抛球杂耍

30. 变换式编程

编程讲的是代码,而程序谈的是数据。所有的程序都在变换数据,将输入转换为输出。总结的十分精辟。

不要囤积状态,传递下去;

31. 继承税

不要付继承税;尽量用接口来表达多态;

用委托提供服务,“有一个”胜过“是一个”:不要从服务中继承,应该包含服务。

利用mixin共享功能(这个概念不清楚,需要再调查)

32. 配置:使用外部配置参数化应用程序

总结:这些原则,其实大部分在我们的日常工作中已经运用,但是自己却没有总结。因此老师在讲解的时候,感到有点似曾相识的感觉。因此要经常总结,交流。其他老师明天的领读。

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复
发表于2020年08月05日 09:57:37
直达本楼层的链接
45#
显示全部楼层

华为云账号:hw07606522

微信昵称:salad

微信账号:sela001


                                                 程序员修炼之道:通向务实的最高境界-并发 day3


         今天老师的分享主要讲了两方面编程中的并发和编程过程中常用的方法和原则,编程的并发包含:打破时域耦合、共享状态时不正确的状态、角色与进程、黑板。编程常用的方法包含:听从蜥蜴脑、巧合式编程、算法速度、重构、为编码测试、基于特性测试、出门在外注意安全、事务命名。

         当看到为编码测试这个原则时,特别感概,因为我觉得这个确实很重要,我们代码不是一次写成的,写完之后可能还要修改 重构等,也就意味着代码会有很多变动,当我们改变代码后,可能无意中影响了其他逻辑,导致出现问题,而当我们单元测试写好后,代码变动后,运行我们的单元测试,对每一个逻辑进行测试,当测试失败,也就意味着这块的逻辑已经发生变动,与我们预期的逻辑已经不一致了,这样我们可以避免很多问题,保证我们重构代码的质量,不会出现其他问题,通过学习,感觉收获太多了。

                                                                                                               

                        

                                                                            


点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

发帖: 148粉丝: 15

发消息 + 关注

发表于2020年08月05日 11:04:48
直达本楼层的链接
46#
显示全部楼层

Day 03 程序员修炼之道

华为云账号:be_dao

微信名:bēdao

Day 03 软件编程的并发

1.编程中并发

(1)打破时域的耦合

通过分析做流量来提高并发

利用工作流中的并发性


(2)公字态度是不正确的态度

共享状态是不正确的状态

共享状态会带来无穷的麻烦,并且往往只有重启才能解决

随机障碍是并发问题

或许时间和上下的变化能暴露并发Bug,但并发Bug无法始终保持一致,也很难重现。


(3)角色与进程

用角色实现并发性是不共享状态

使用角色来管理并发状态,可以避免显式的同步


(4)黑板

使用黑板来办调工作流

使用黑板来协调不相关的事实和代理人,能同时保持参与者之间的独立性与孤立性。


2.当编码时,怎么做?

(1)听从蜥蜴脑

听你内心的蜥蜴

当编程举步维艰时,其实是潜意识在告诉你有什么地方不对。


(2)巧合式编程

不要依赖巧合编程

智能依赖可靠的事物。注意偶然事件的复杂性,不要混淆快乐的巧合与有目的的计划。


(3)算法速度

评估算法的级别

在开始编程前,对这件事情大概会花长时间要有概念。


对估算做测试

针对算法的数学分析无法说明所有问题,尝试在目标环境中测试执行代码的耗时


(4)重构

尽早重构,经常重构

像除草和翻整花园那样,只要有需要就对代码进行重新比那些、修订和架构,以便找到问题的根源并加以修复。


(5)为编码测试

测试与Bug无法

测试是观察代码的一个视角,可以从中得到针对设计。


测试是代码的第一个用户

用测试的反馈来引导工作


既非自上而下,而不自下而上,基于段对端构建

创建一块端对端的功能,从中获悉问题之所在


为测试做设计

写下代码之前从测试角度思考


要对软件做测试,否则只能留给用户去做

无情地测试,不要等用户来帮你找Bug


(6)基于特性测试

使用基于特性的测试来校验假设

基于特性的测试将会进行你从未想过的尝试,并且以你不曾打算采用的方式操练你的代码。


(7)出门在外注意安全

保持代码简洁,让攻击面最小

复杂的代码给Bug以滋生之沃土,给攻击者以可乘之机


尽早打上安全补丁

攻击者会尽早可能快地部署攻击,你必须快上加快


(8)事物命名

好好取名;需要时更名

用名字想读者表达的你的意图,并且在意图改变时及时更名。


点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

Breeze-20

发帖: 0粉丝: 0

发消息 + 关注

发表于2020年08月05日 12:24:07
直达本楼层的链接
47#
显示全部楼层

微信昵称:晨风

华为云ID:hw20362803

软件编程并发

编程中的并发

1、打破时域耦合

通过分析工作流来提高并发性

利用用户工作流中的并发性

2、共享状态是不正确的状态

共享状态是不正确的状态

共享状态会带来无穷的麻烦,而且往往只有重启才能解决

随机障通常是并发问题

或许时间和上下文的变化能暴露并发Bug,但并发Bug无法始终保持一致,也很难重现。

3、角色与进程

用角色实现并发性时不必共享状态

使用角色来管理并发状态,可以避免显式的同步

4、黑板

使用黑板来协调工作流

使用黑板来协调不相关的事实和代理人,能同时保持参与者之间的独立性和孤立性

当你编码时,怎么做?

1、听从蜥蜴脑

听你内心的蜥蜴

当编程举步维艰时,其实是潜意识在告诉你有什么地方不对。

2、巧合式编程

不要依赖巧合编程

只能依赖可靠的事物,注意偶然事件的复杂性,不要混淆快乐的巧合与有目的的计划。

3、算法速度

评估算法的级别

在开始编程前,对这件事情大概会花多长时间要有概念

对估算做测试

针对算法的数学分析无法说明所有问题,尝试在目标环境中测试执行代码的耗时

4、重构

尽早重构,经常重构

像除草和翻整花园那样,只要有需要就对代码进心重新编写、修订和架构,以便找到问题的根源并加以修复

5、为编码测试

测试与找Bug无关

测试是观察代码的一个视角,可以从中得到针对设计、接口和耦合度的反馈。

测试是代码的第一个用户

用测试的反馈来引导工作

既非自上而下,也不自下而上,基于端对端构建

创建一小块端到端的功能,从中获悉问题之所在

为测试做设计

写下代码之前先从测试角度思考。

要对软件做测试,否则只能留给用户去做

无情地测试,不要等用户来帮你找Bug

6、基于特性测试

使用基于特性的测试来校验假设

基于特性的测试将会进行你从未想过的尝试,并会以你不曾打算采用的方式来操练你的代码。

7、出门在外注意安全

保持代码简洁,让攻击面量小

复杂的代码让Bug以滋生之沃土,给攻击者以可趁之机

尽早打上安全补丁

攻击者会尽可能地部署攻击,你必须快上加快

8、事物命名

好好取名,需要时更名

用名字向读者表达你的意图,并且在意图改变时及时更名

Day3阅读总结

今天讲述了编程中并发的一些原则,编程过程中的一些常用方法和原则。

image.png

image.png

image.png

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

Easy Redmine

发帖: 10粉丝: 4

发消息 + 关注

发表于2020年08月05日 13:34:27
直达本楼层的链接
48#
显示全部楼层
## 云享读书会《程序员修炼之道》读书笔记Day3——如何处理并发,编程时怎么做? * 微信昵称: 龙波 * 华为云账号: cuilongbo --- 今天学习了并发和编码的原则和方法,包括打破时域耦合、角色与进程、巧合式编程、算法速度、重构等,对应《程序员修炼之道》中第33到44条原则。 ![并发.jpg](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202008/05/133621mc30gbzoudmduf81.jpg) (注: 图片来自 https://item.jd.com/12828404.html) 33.打破时域耦合——通过分析工作流来提高并发性 34.共字状态是不正确的状态——共享状态会带来无穷的麻烦,而且往往只有重启才能解决 35.角色与进程——使用角色来管理并发状态,可以避免显式的同步 36.黑板——使用黑板来协调工作流 使用黑板来协调不相关的事实和代理人,能同时保持参与者之间的独立性和孤立性。 ![编码.jpg](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202008/05/133715v0drx2tawcr0altr.jpg) (注: 图片来自 https://item.jd.com/12828404.html) 37.听从蜥赐脑——听你内心的蜥蜴 当编程举步维艰时,其实是潜意识在告诉你有什么地方不对。 38.巧合式编程——不要依赖巧合编程,只能依赖可靠的事物。 注意偶然事件的复杂性,不要混淆快乐的巧合与有目的的计划。 39.算法速度——评估算法的级别 在开始编程前,对这件事情大概会花多长时间要有概念 40.重构——尽早重构,经常重构 像除草和翻整花园那样,只要有需要就对代码进行重新编写、修订和架构,以便找到问题的根源并加以修复。 41.为编码测试——测试与找Bug无关 测试是观察代码的一个视角,可以从中得到针对设计、接口和耦合度的反馈。 42.基于特性测试——使用基于特性的测试来校验假设 基于特性的测试将会进行你从未想过的尝试,并会以你不曾打算采用的方式操练你的代码。 43.出门在外注意安全——保持代码简洁,让攻击面最小 复杂的代码给Bug以滋生之沃土,给攻击者以可趁之机。 44.事物命名——好好取名,需要时更名 用名字向读者表达你的意图,并且在意图改变时及时更名。
点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

张辉

发帖: 205粉丝: 125

发消息 + 关注

发表于2020年08月05日 13:55:47
直达本楼层的链接
49#
显示全部楼层

华为云ID:zhanghui_china

微信ID:zhanghui_china

读书笔记Day03:如何处理并发

当然,本节内容不仅仅是处理并发,只是题目是如此

Part1 编程中的并发


33.打破时域耦合

虽然看起来是耦合在一起,但是可以分析,把并发的事情筛选出来,然后一起做。


34.共享状态是不正确的状态

以餐厅点菜库存不够的情况。

采用信号量灯方式做互斥处理。

让资源具备输入性。先锁定。下一个来了后资源就不会被使用


35.角色和进程

用某种角色去处理,角色是独立的虚拟处理单元。

角色可以并发处理。


36.黑板

通过黑板来协调工作流

在黑版上进行表达。


Part2 编码时如何编码

37.听从蜥蜴脑

利用本能。潜意识去找问题。

当编码遇到困境时,当作正常的事情,克服恐惧的方法是抛开后,思考,跳出圈子,可能会扩展思路


38.巧合式编程

开发者要避免巧合。不能依赖与偶然的蒙对来处理。不做“差不多先生”

如何深思熟虑编程的措施书中去看。


39.算法速度。

需要去估算算法的速度。计算时间复杂度和空间复杂度。

最好的不会永远最好。需要结合实际业务进行权衡。


40.重构

代码需要尽早的重构,而且需要经常重构

有重构的必要就要毫不犹豫的去重构。因为后续的思想会比原来要好。想清楚了,想透了就重构吧。

image.png

(每日一图)

41.为编码测试

测试跟找bug无关。

测试时代码的第一个用户。

测试驱动编码,测试驱动开发。

基于契约做测试。

构建测试的文化。


42.基于特性的测试

基于特性进行从未想过的测试。


43.安全

复杂代码会引起bug.代码需要简洁。

代码需要尽快打上安全补丁。

要尊重一些原则(如敏感数据加密等)

需考虑到密码,加密算法等。


44.取名要好

名不正则言不顺,言不顺则事不成。有个好名字会利于理解。

起名时可以考虑文化。一致性。


Part3 总

今天介绍了并发的原则以及编程的一些方法和原则。一共12条。


点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

云水不言

发帖: 0粉丝: 1

发消息 + 关注

发表于2020年08月05日 13:55:54
直达本楼层的链接
50#
显示全部楼层

程序员修炼之道day3读书笔记

华为云账号:yun1025933139

微信昵称:云水不言

day3的课程内容对应33-44条,分为两部分。一部分为编程中的并发问题;一部分为编程时怎么做。

33.打破时域耦合

通过分析工作流来提高并发性

34.共享状态是不正确的状态

共享状态会带来无穷的麻烦,而且往往只有重启才能解决。

随机故障通常是并发问题,或许时间和上下文的变化能暴露并发bug,但并发bug无法始终保持一致,也很难重现。

35.角色与进程

用角色实现并发性时不必共享状态。

36.黑板

使用黑板来协调工作流(看板,工作流可视化)


当你编程时,怎么做?

37.听从蜥蜴脑

当编程举步维艰时,其实是潜意识在告诉你有什么地方不对。

38.巧合式编程

不要依赖巧合编程,只能依赖可靠的事务。

39.算法速度

评估算法的级别,开始编程前,对这件事情大概会花多长时间要有概念。

40.重构

尽早重构,经常重构。只要有需要就对代码进行重新编写、修订和架构,以便找到问题的根源并加以修复。

41.为编码测试

测试与找bug无关,测试是观察代码的一个视角,可以从中得到针对设计、接口和耦合度的反馈。

测试是代码的第一个用户,用测试的反馈来引导工作。

既非自上而下,也不自下而上,基于端对端构建。创建一小块端到端的功能,从中获悉问题之所在。

为测试做设计,写下代码之前先从测试角度思考。

要对软件做测试,否则只能留给用户去做。无情地测试,不要等用户来帮你找bug。

42.基于特性测试

使用基于特性的测试来校验假设。

43.出门在外注意安全

■保持代码简洁,让攻击面最小。

■尽早打上安全补丁。

44.事务命名

好好取名;需要时更名。用名字向读者表达你的意图,并且在意图改变事及时更名。

总结:把握并发原则,多协调沟通,多测试,及时改正。

点赞 评论 引用 举报