0

实习月报(上)

 1 year ago
source link: https://iecho.cc/2019/08/03/%E5%AE%9E%E4%B9%A0%E6%9C%88%E6%8A%A5%EF%BC%88%E4%B8%8A%EF%BC%89/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

实习月报(上) | 回声

实习月报(上)

2019-08-03 08:55:00

# 开发

# 实习

大暑已至,实习的日子也过去了一半。在短短的四周中,接触了不少新技术,也总结出了许多经验。

  1. 思想理论对于编码实践有着极其重要的指导作用。

    月初逛论坛时看到一条回复:

    标题:前端的技术更新换代速度是不是有点快? - V2EX
    @xuanbg:MVC 模式还是 76 年提出来的呢,前端的同学用上才几年。。。

    大概十多年前,互联网还没有前端开发者这个概念。由于当时网站基本使用表格布局或 Flash,而不是如今的 DIV + CSS 的布局,前端开发工作基本由后端完成。许多站点通过将前端代码硬编码于后端代码,配合 iframe 和后端语言的 include 语句,构造标准的表格式单页。

    Web 2.0 技术之后,UGC 内容逐渐成为主流,前端技术也不再局限于简单的表格布局,各种技术栈百花齐放,诞生了 jQuery、Dojo 等一系列开源 JavaScript 框架。CSS3 与 HTML5 标准的出现也极大地推动了前端技术栈的发展,人们开发出各种炫酷的交互动画,甚至可以通过 WebGL 实时渲染 3D 模型。Bootstrap 等前端 UI Kit 的出现则将前段开发者们从手写代码中拯救了出来,模块化的响应式布局成为主流,Web 前端页面的基本构建逐渐变得简易上手,由此也催生了一大批前端培训班。

    在我看来,一个优秀的前端工程师除了掌握各种 Web 技术与开发框架之外,还需要具有一定的审美能力与设计理念。对于 to B 的产品可能不需要考虑太多用户体验上的需求,但是如果是面向普通用户,用户体验很大程度上影响了用户留存与活跃时间。

  2. 慢下来,提高代码质量。

    没经验没能力的软件开发团队一开始就冲刺/加班加点地加新功能,几个月后就慢下来了,所有时间都在修 bug,没精力去加新功能。
    —— 软件开发过程中,先慢下来,才能将来跑得更快

    前期开发过程中缺少 Code Review 及自测等评估环节,加上一些不合理的产品设计,我们耗费了大量的时间在变更需求和寻找代码缺陷上。和一位曾在某一线手机厂商工作的朋友聊起工作流,其公司生产环境代码小版本一月一更,大版本甚至一年才发布一次。当然,处于开发期的项目迭代本就应该比维护期的项目快许多,但是如果不使用 CI/CD 以及自动化测试等解决方案,后期推进将变得非常困难。

  3. 预留数据审查中间件,做好安全措施。

    如果发现一个产品在安全(包括但不限于权限管理)方便不讲究了,说明他们内部在为 KPI 赶进度了。因为安全领域是花费最大却看不到成果的地方。
    —— Weibo@老毒师

    2018 年是区块链的风口,但不知有多少交易所和私链因为代码缺陷所致的安全问题而崩盘,无论是运营者还是用户都损失惨重。但就目前看来,各个项目(除了互联网金融方向)的开发过程中仍然是业务线优先,安全、风控最后。在我们的项目初期,前端未考虑对用户做防呆设计以及数据预过滤,后端也基本未对接口数据做鉴权或合法性校验。作为一个暴露在公网的在线服务,是非常危险的。

  4. 产品需求一定要明确,做好任务进度可视化。

    在前段时间的课设中,我们尝试应用了 Github Kanban 作为敏捷开发管理工具,对项目进度进行把控。作为一个辅助工具,它并不具有什么魔幻能力,但却能直观地掌控项目的功能粒度上的开发进度,优化需求下发流程。使用 IM(如微信、蓝信等即时聊天工具)及电子邮件作为需求下发方式的形式是一个没有缓冲区的 [生产者-消费者] 问题。通过引入看板作为缓冲区,开发者完成手头任务后即可查看后续需求,产品经理也无须为此在群里 at 全体成员,打断所有人正在处理的事情。这不仅可以避免开发人员工作时间不饱和,还有助于提升开发效率。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK