如题详述:

最近,一直在开发react项目,给我最大感受就是bug,以及复杂性。只要测试人员想测试,产品经理想到处点点,bug总是会有的,感觉就是改不完的,这也让我开始怀疑js这门语言。

对于问题,我想的当然是最完美解决方案,可是在js语言里,我感觉做不到,无论是页面交互逻辑、数据逻辑、业务场景逻辑、react运行原理以及公共组件封装的完备性,这里面的复杂性我永远考虑不全,所以对于问题我也只能是暂时解决了、当下解决了,因为,冷不丁什么场景、什么逻辑考虑不到而有了bug

每天在这样的场景下修改bug,让我如临深渊,如履薄冰,也不想这样无休止的bug下去。

对于前端开发,的确有了很大的进步,前后端分离、单页应用、数据逻辑处理转移到前端,或页面交互、或用户体验,随着而来的就是前端开发的复杂性。同样一个项目,配备着同样数量的前后端开发人员,可总感觉前端有改不完的bug,而后端就很闲,我不知道是身为前端的我们太弱,还是后端人员太强。

鉴于此,我开始怀疑js这门语言,对于一门弱类型语言,本来就存在着很多不确定性、不太好理解的内部换算规律,至于这种规律,可能是我懂得太少,亦或是js套路太深了,反正我就是这样轻而易举的掉入坑中了。

至于个人开发,自己又是个相对追求完美的人,对于问题都希望尽我能用最完美解决方案。一开始就是从无到有的选择了前端,如果可能,我愿意换一种语言,能吻合我性格的一种语言。

不知大家有什么看法,亦或是好的建议?

除了js, 寻求一种完美的语言相关推荐

  1. 是否有一种完美语言来终结“编程语言之争”?

    转自:http://36kr.com/p/5090226.html 如果有一天,大家不管用什么编程语言,只要记住一套接口函数,那就太美好了. 编者按:本文来自微信公众号"InfoQ" ...

  2. 理解JS的6种继承方式

    [转]重新理解JS的6种继承方式 写在前面 一直不喜欢JS的OOP,在学习阶段好像也用不到,总觉得JS的OOP不伦不类的,可能是因为先接触了Java,所以对JS的OO部分有些抵触. 偏见归偏见,既然面 ...

  3. 【ES6】JS第7种数据类型:Symbol

    [ES6]JS第7种数据类型:Symbol 一.Symbol的由来 二.Symbol的涵义 三.Symbol的判等 四.Symbol的运算与转化 查看更多ES6教学文章: 参考文献 引言:我们知道JS ...

  4. mysql是面向对象的语言吗_php一种面向对象的语言,那么什么是面向对象呢?

    php一种面向对象的语言,那么什么是面向对象呢? 传统的面向过程的编程思想: 相信很多人第一次接触编程都是c语言,c语言就是非常典型的面向过程的编程语言,将要实现的功能描述为一个从开始到结束的连续的& ...

  5. LESS-Middleware:Node.js 和 LESS 的完美搭配

    LESS 是一个编写 CSS 的很好的方式 ,让你可以使用变量,嵌套规则,混入以及其它许多有用的功能,它可以帮助您更好地组织你的 CSS 代码. 最近我一直在研究 Node.js ,并想用 less- ...

  6. Less (一种动态样式语言)

    Less (一种动态样式语言). LESS是一种由Alexis Sellier设计的动态层叠样式表语言,受Sass所影响,同时也影响了 Sass的新语法:SCSS. LESS是开源的,其第一个版本由R ...

  7. javascript-入门篇-使用js的三种方式

    练习题: 弹出窗口,提示语句"hello js" <script>alert("hello js"); </script> javasc ...

  8. html5连连看源码解析,JS连连看源码完美注释版(推荐)

    JS连连看源码完美注释版 table{ border-collapse: collapse; } td{ border: solid #ccc 1px; height: 36px; width: 36 ...

  9. js通过两种方式进行对商品价格排序

    javascript-illustration.png js通过两种方式进行对商品价格排序 <template><div class="content">& ...

最新文章

  1. Mysql提示缺少表的别名报错_mysql对sql中别名引起的Column not found问题
  2. java jxls 科学计数_java通过jxls框架实现导入导出excel
  3. [Ext JS 4] 实战之多选下拉单 (带checkbox) 续 - 带ALL 选项
  4. springboot酒店管理信息系统答辩PPT模板
  5. 使用Monit监控进程与系统状态
  6. 用ssl.ca自制证书
  7. python实战-爬取斗鱼所有颜值主播头像
  8. arcgis人口空间化_基于遥感和GIS的人口数据空间化研究进展及案例分析
  9. Laravel操作数据库的三种方式总结归纳
  10. CTGU实验5_2-创建还书罚款触发器
  11. canvas——实现图片验证码(功能实现)
  12. 离散:常用排列组合模型归纳,DFS代码实现
  13. mysql范围查询如何建索引_MySQL索引(二):建索引的原则
  14. 串口通信(串口助手发送数据给单片机,单片机原封不动发给串口助手)
  15. 快来围观,又一个大厂首席架构师真正财务了
  16. 怎么用计算机算出一个人的生日,怎样才能在网上查到一个人的生日
  17. 【电机应用控制】——步进电机控制原理(四相五线/两相四线/细分驱动)驱动器梯形/S形加减速算法直线/圆弧插补
  18. 槃星—第2天任务—JAVA实现游戏数据修改以及风控设计
  19. 搬了新家,转让一批书
  20. c语言练习打字程序,C语言代码输入练习

热门文章

  1. c语言程序设计对称数,c语言程序设计--对称数
  2. oracle log.xml分析,Oracle 11g Alert Log日志位置及参数
  3. worker进程和task进程区别_worker进程和task进程区别_Storm概念学习系列之Worker、Task、Executor三者之间的关系......
  4. NodeJs将项目上传至服务器
  5. 将Ajax请求返回的json数据,转换成json对象
  6. 高速软件加密锁技术的发展历程
  7. 网络配置辅导:多路由器如何使用多条ADSL线路
  8. Windows下Redis安装的那些事儿!
  9. 韩国小哥哥用Pytorch实现谷歌最强NLP预训练模型BERT | 代码
  10. 波士顿动力新视频:上岗工作机器狗,巡查工地一丝不苟