当前位置: 首页 > news >正文

反思总结然后整装待发

原文链接: http://xdlrt.github.io/2016/1...
距离上次更博已经过去两个月了,终于也有时间能静下心来想一些事情,也对这几个月的生活做一个总结吧。

欣欣向荣的创业公司

暑假在学长的创业公司实习,主要负责的是两个新系统的重构。早期项目是基于Angular和sass的后台管理型SPA,完成了最基础部分的架构。经过暑假一个多月的努力,成功完成了一些前端自动化和工程化的处理。

  • 使用gulp完成sass的编译、css的打包压缩、js的压缩混淆,优化HTTP请求数,大大提高访问速度。

  • 使用gulp添加打包文件名后的hash值,并配合修改入口的文件引用路径。保证上线后的版本不会因浏览器缓存而产生影响。

  • css部分全部用sass分模块编写,极大的提高的UI的复用性。

  • 由于后端使用java来编写,前端需要配置相应的IDE才能正常运行,为前端编写了傻瓜式配置文档。

这里获得的成长

在这里获得的成长是对项目整体的认知,从产品需求到交互设计再到前端配合后端联调实现整个项目的功能迭代,也对和后端的合作和一些性能优化的问题有了更深刻的认识。
由于开发人员的欠缺,和学长也一起商讨了许多次如何提高开发效率,如何在最短时间内最高质量的完成运营和产品经理的需求,同时需要保证之后的维护和迭代顺利进行,这是和自己单打独斗做些玩具的根本区别。
用户体验同样是重要的一环,程序员不仅仅需要思考如何用代码实现功能,更需要思考的是需求背后真正面对的痛点以及如何去更好的击中这些痛点,前端作为和用户联系最紧密的一环,亦如是。
这段日子是自己最拼的一段时间,暑假和国庆后的十天,没有在1点之前睡过觉,乐在其中,也就不觉得苦了,也很庆幸可以和学长们一起并肩奋斗过。看到自己参与的项目最终上线投入使用,也是对自己的一个完美的交代了。

组件化开发小试牛刀

9月底的时候接到一个类似分答的外包项目,基于微信公众平台的webApp,项目初期只有我一个人负责前端部分,进行技术选型时,考虑了以下几个方面:

  • 兼容性要求较低,故可选用较新的技术来实现。

  • 前端部分之后会有多人合作,为了提高效率决定采用组件化开发。

  • 后端是一个研究生学长负责,平时只能远程沟通,故决定实现前后端完全分离开发。

综合以上几点,选用了比较容易上手的vue.js来完成这个项目。体验如下:

  • vue-cli可以非常方便的搭建开发环境。

  • webpack默认配置十分完善,傻瓜式完成常用开发环境所需功能。

  • 相较于angular早期版本中的directive,vue单文件组件更加易懂,也极大的提升了合作的效率。

这期间也遇到了需要问题,例如:

两名前端的代码风格迥异

由于代码质量并没有做严格的限制,导致自己和另一面前端的代码风格相差较大。这个问题在模块间有耦合的部分问题比较突出,最终会导致代码风格非常杂乱,不易理解。对之后的维护工作造成了一点困扰。

设计的欠缺

由于组件化开发经验的缺乏以及对需求不够精确和细致的分析,导致之后部分可复用组件在之后又重新封装,做了一些低效率的无用功。

开发进度的管理未严格执行

由于对产品的流程理解不够透彻,导致出现为了测试A功能需要B功能可用,而B功能也不可用的死锁状态,极大的降低了开发效率。

吸取以上几个问题的教训,在之后的项目中,最首要也是最重要的事情就是对需求的充分理解,其次需要必要的代码规范,这样能够避免一些沟通上的问题,再其次就是对整个项目清晰的规划以及严格的执行,需要预留出必要的测试时间以应对开发时未测试出的bug以及一些意外的因素。

百度实习生面试

自己投的实习生简历阴差阳错的辗转到了百度的手中,也经历了第一次大厂的面试。
两次面试的形式都是电话面的形式。
一面的问题比较基础,基本是按照简历上写的东西来提问,夹杂一些基础的问题,例如跨域的方式、两栏布局的实现方式、和后端通信的方式以及css3和html5的新特性。
二面就让我有些捉襟见肘了,拿简历中的项目来抓住一个点问,不断深挖,也暴露了自己总结不够及时并且基础不够牢固。
最终的结果是没有通过,不过不灰心,再接再厉,明年春招又是一条好汉。

小结

这两个月的忙碌生活结束了,接下来的日子就是消化和吸收这一段日子以来的收获。之后的日子里做到一周更新两篇博文,主要是实际项目中遇到的具体问题来加以总结和分析,未完待续。

相关文章:

  • 当SetTimeout遇到了字符串
  • ABP文档 - EntityFramework 集成
  • [Java基础] Java中List.remove报错UnsupportedOperationException
  • 查看linux服务器的系统信息
  • sql事务、视图和索引
  • 谈谈springmvc的ResponseBodyAdvice
  • C语言之从内存角度理解不同类型的变量
  • Android 利用线程运行栈StackTraceElement设计Android日志模块
  • .Net中ListT 泛型转成DataTable、DataSet
  • linux线程的实现【转】
  • JAVA设计模式
  • 你知道市面上机器人都用哪些操作系统吗【转】
  • ArcGIS安装错误1402
  • 前端的学习
  • .NET 表达式计算:Expression Evaluator
  • 【Amaple教程】5. 插件
  • C++入门教程(10):for 语句
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • CSS 三角实现
  • Git 使用集
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript的使用你知道几种?(上)
  • 给新手的新浪微博 SDK 集成教程【一】
  • ------- 计算机网络基础
  • 经典排序算法及其 Java 实现
  • 模型微调
  • 如何设计一个微型分布式架构?
  • 携程小程序初体验
  • 译自由幺半群
  • 数据库巡检项
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #WEB前端(HTML属性)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (附源码)ssm高校实验室 毕业设计 800008
  • (蓝桥杯每日一题)love
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET处理HTTP请求
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .NET实现之(自动更新)
  • @Query中countQuery的介绍
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ C++ ] STL---string类的模拟实现
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [CQOI 2010]扑克牌
  • [CSS]CSS 的背景