为了账号安全,请及时绑定邮箱和手机立即绑定

除了js,能换一种完备的语言吗?

除了js,能换一种完备的语言吗?

临摹微笑 2019-01-02 17:24:37
如题详述:最近,一直在开发react项目,给我最大感受就是bug,以及复杂性。只要测试人员想测试,产品经理想到处点点,bug总是会有的,感觉就是改不完的,这也让我开始怀疑js这门语言。对于问题,我想的当然是最完美解决方案,可是在js语言里,我感觉做不到,无论是页面交互逻辑、数据逻辑、业务场景逻辑、react运行原理以及公共组件封装的完备性,这里面的复杂性我永远考虑不全,所以对于问题我也只能是暂时解决了、当下解决了,因为,冷不丁什么场景、什么逻辑考虑不到而有了bug。每天在这样的场景下修改bug,让我如临深渊,如履薄冰,也不想这样无休止的bug下去。对于前端开发,的确有了很大的进步,前后端分离、单页应用、数据逻辑处理转移到前端,或页面交互、或用户体验,随着而来的就是前端开发的复杂性。同样一个项目,配备着同样数量的前后端开发人员,可总感觉前端有改不完的bug,而后端就很闲,我不知道是身为前端的我们太弱,还是后端人员太强。鉴于此,我开始怀疑js这门语言,对于一门弱类型语言,本来就存在着很多不确定性、不太好理解的内部换算规律,至于这种规律,可能是我懂得太少,亦或是js套路太深了,反正我就是这样轻而易举的掉入坑中了。至于个人开发,自己又是个相对追求完美的人,对于问题都希望尽我能用最完美解决方案。一开始就是从无到有的选择了前端,如果可能,我愿意换一种语言,能吻合我性格的一种语言。不知大家有什么看法,亦或是好的建议?
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

归根结底是你的能力不够、对这个语言不熟悉,而不是这个语言本身,bug是不可避免的,如何在设计阶段通过合理的设计和约定来避免bug,以及出现bug后怎么高效定位、解决bug,并从中吸取教训,是一个程序员应该具备的最基本的素养,如果你根本就不了解语言的特点,不知道怎么提高运行效率,实现前没有好好设计模型,随心所欲瞎逼写一通;今天定义了一个数据类型,明天又按另一种类型写;今天这个函数是这个作用,明天就变那个作用了;全局变量满地跑,变量名abcd排着用,自带混淆,那你换什么语言写都是一堆bug。动态语言还好,你还能运行起来,静态语言你连编译都编译不出来,到时候你还得发个问题问:除了C++,能换一种能编译出来的语言吗?


另外推荐你在熟悉了语言特性之后再迁移到typescript,包含静态类型检查,但不是说就不会有bug。


不知道你有没有看到,我把底下的回复贴上来

  1. 会有这样的想法说明你的能力不足,需要多看别人的或者框架的代码,学习别人的思路,学习框架的设计思路。

  2. 有bug可以接受,但低级bug多了(单个页面中两三个低级bug就可以毁掉用户体验),欠缺考虑的地方多了就会让人觉得你们太过马虎。要达到各方面尽可能周全的考虑,可以通过抽象和模块化实现,各种框架就是帮程序员干这种事的。此外,确定单点/单个模块无明显bug后再将其整合进其父模块。

  3. 不妨在实现前通过画程序框图/结构图/数据流图/状态机,然后根据此设计实现。实现时一定要写注释,不要求每一句都要注释,之前每个函数,每个模块都要有注释标明其作用,复杂的模块最好还要标明其思路,单句可读性差的骚操作也要注释。

  4. 你排斥的不是js和bug,是这份工作。


回答你的评论:直接搜索即可。这些东西是软件工程里的概念,小工程可有可无,大工程一般还是要借助这些东西,当然如果你小工程都做得很头疼了也可以用这些东西帮助你开发。

举个开发方法的例子(实际有前人总结的若干软件开发模型):


查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 435 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号