一年多的前后(2019vs2020)对比「建议收藏」

一年多的前后(2019vs2020)对比「建议收藏」不知不觉,又到了这个躁动不安的季节,躁动的是应届毕业生毕业以及高考。关于对青春的情愫,通常在这种时刻都会有各种各样的故事,当然了,我并不是一个会讲故事的人,所以通常情况下,就采用这种总结性的方式写文字

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

不知不觉,又到了这个躁动不安的季节,躁动的是应届毕业生毕业以及高考。关于对青春的情愫,通常在这种时刻都会有各种各样的故事,当然了,我并不是一个会讲故事的人,所以通常情况下,就采用这种总结性的方式写文字做阶段性的告别。因为到了身上要担负很多责任的年龄,已经没有过多的精力去伤感过去,只是希望未来能成为更加好的自己,至于有多好,其实自己心里是有一个尺子在那里的。

大概几年前的样子,写过这篇文章重构自我,用心经营,这次就从2019和2020的前后对比来总结一下2019和2020吧。

2019和2020前后对比.png

2019

技术层面的话

因为接触了挺多有能力、有思想的大佬,学到了很多,所以我也真的挺感激他们的。

其中,在公司与前端小伙伴的交流中,前辈健哥一直给我们灌输

  • 1、抽离一层model层作为数据的维护者,包括本地数据和接口数据
  • 2、怎么设计组件、怎么设计一个基础服务类。一般见识的开发都会觉得前端很easy,并没有“服务”这种东西的存在,然而有个问题就是业务组件是十分难以复用的,其中样式就很难复用。怎么解决这个问题呢?那便是把基础类抽离成服务,e.g. 音频服务、视频服务、文件(分片)上传服务等等
  • 3、给予人思考的机会,思考的过程非常美妙

到了后来我的思考

  • 1、 也跟市面如百度aims这样的低代码的轮子有相似的思想,就是
服务service + 配置config = 功能
  • 2、抽离组件是为了什么?
    • 各司其职
    • 复用
  • 3、 权衡是否抽离组件。
    • 复用的成本是否大于重写一个新的组件成本

还有就是初步认识后端(项目组的python后端跑去了别的组,所以交给我维护了)。

  • 好的地方当然就是自己能接触到web的整个流程,自己在这个过程中也努力去弥补一些后端的知识。
  • 不好的点就是自己本身就是个后端门外汉,加之代码的业务耦合度实在是太大了,代码很多逻辑都是复制粘贴出来的,看的很难受,所以也警告自己避免这样的代码。

写到这里的时候,突然想起以前去公司面试的时候的一道笔试题:怎样写出一手烂代码?

我当时的回答是这样的。

  • 不写注释
  • 不写文档
  • 定义大量的全局变量
  • 不抽离组件
  • 不抽离函数
  • 不抽象类

2020

技术层面的话

2020技术回顾.png

后来,2020年认识了新的小伙伴帆哥,帆哥也是一个特别热爱技术的大佬,从帆哥那边学到的地方就是

  • 优雅的coding,慢慢地也养成了代码洁癖
  • 修改维护别人代码是备注日志
  • css-in-js 的使用,也是他推荐,后来发现真香
  • 不要放过任何一个思考的点

找寻方向

身处这座快节奏的一线城市,面临这个快节奏的时代,很容易让人浮躁和眼高手低,也渐渐得迷失了方向。所以每天都应该叩问自己,你的方向在哪里?你想成为怎么样的人?

之前,有几个原因吧,导致自己的方向其实很模糊的,

  • 1、大前端的方向有数据可视化、在线IDE、前端工程化、跨端技术…, 可能是自己是好奇心太重的那种,什么都想学,导致方向模糊
  • 2、都说程序员35岁一个槛,甚至于到了疫情期间30岁,所以等到你碰到这些槛 的时候,你要怎么处理呢?自己心底深处是有点惶恐的,虽然还差好久呢
  • 3、你所处的工作环境氛围会对你自己的成长造成很大的影响

直到后来,有一个需求是用一个前端框架去整合合并两个分别使用两个框架的小程序。

中间经历了很多项目架构上的“折磨”, 但是这是因为这些,使我在前端架构上有了些许的认识:

  • 1 、css绝对化路径带来的好处,后期修改维护时就不必担心修改路径等问题了
  • 2、 路由映射带来维护的便捷
/pages/index  => ${AppConfig.index} + AppConfig = {  index: '/pages/index'}

所以即便是很麻烦的项目需求,也会给你带来一定的成长,这个成长可能是很重要的成长——意识形态上的成长。

在团队里经历了大大小小的项目,我也很清楚现在web前端在整个团队应该扮演什么角色,为APP应用提供中后台以及工具链。我决定给自己定下的方向是前端架构,要努力的点:

  • 编译原理

    • 体现在写babel-import-plugin、clear-console-plugin, 这些远远不够,尝试实现一个js引擎。
  • 前端工程化

    • 通过github actions部署譬如zen-tools、clear-console-plugin等上npm。
  • 常用框架底层原理

    • 使用node实现zen-koa、zen-koa-compose。
  • 怎么去扩展轮子来满足自己的需求

    • 改造使用开源项目wepy-to-uniapp来完成自己的业务——合并wepy和mpvue遗留下来的小程序。
  • 写测试用例使得代码更加稳固

    • TDD测试驱动开发。

    https://i.loli.net/2020/09/24/Vek93HrixvKWSwP.png

最近做完项目之后,颇有感慨。

不足之处分为以下几点:

  • 前瞻力不够或者说是没有这个意识,体现在一个需求在做之前,没有去梳理出它可能会出现的问题,而是单纯为了做完需求。eg:发送验证码。
  • 真的有些浮躁,因为接口太碎的问题,导致自己开发也很消极,甚至有点想脱离问题。没有想出更好的方法

需要坚持的点:

  • 每次都会去写一层model层,不管后端接口多恶心,对view层都没啥影响,这一层从mock数据就有了。
  • 做完项目之后,把服务抽离出来,以备下次复用。
  • 意识到自己的很多问题,更好地认清自己的位置,需要努力的地方。

做个总结

对比2019年,2020年多了很多更为深入的思考。

成长

  • 从团队的角度
    1. 更加明确自己在团队中的角色,为APP应用提供中后台以及工具链。
    2. 很多时候的造轮子不再只是好玩,而是从辅助某些业务场景出发。
    3. 开始采用TDD驱动开发,使得程序更加稳固。
  • 个人的角度
    1. 在自己遇到了迷茫期的时候,找到了未来发力的方向——前端工程化,并为之发力。

不足

  • 有时候也会很急躁。
  • 计算机基础部分还是不够。

展望2021

  • 恶补计算机基础
  • 继续发力前端工程化
  • 重视性能优化
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166950.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为面试内幕[通俗易懂]

    华为面试内幕[通俗易懂]华为面试内幕–写给想进华为的毕业生的话华为公司的面试过程分为5个环节:一面(技术)、二面(集体)、三面(性格测试)、四面(英语)、五面(综合)。通关者方可录用。这个流程表面上设计挺严谨的,还是某个著名公司设计的流程。但实际上华为

    2022年7月17日
    25
  • pycharm选择解释器_python高级编程

    pycharm选择解释器_python高级编程一、IDE配置解释器二、配置pip镜像按照【配置永久生效】全局配置文件Window系统下,文件夹路径中输入%APPDATA%,若没有pip目录创建,并在里面创建文件pip.ini,内容如下[global]timeout=6000index-url=https://pypi.mirrors.ustc.edu.cn/simple/tr…

    2022年8月27日
    4
  • 黑客学习路线[通俗易懂]

    黑客学习路线[通俗易懂]转载:https://www.cnblogs.com/HackKen/p/7732515.html引:在任何时候,我都是孤独的。最近在信安群里也有人问过我,我是如何学习黑客和渗透测试的,在这里,我就把我的学习路线写一下,让新手和小白们不再迷茫,少走弯路,拒绝时间和金钱上的浪费!第一周:入门在学习的时候,你起码需要对常见的黑客术语需要掌握,了解术语的话可以去看看这里的百度文库,写的还是可…

    2022年9月15日
    0
  • Maven历史版本下载「建议收藏」

    Maven历史版本下载「建议收藏」一.Maven官网下载历史版本1.maven下载地址(1)、打开Mvaen官网下载地址(2)、进入历史版本下载地址(3)、历史版本下载页面,选择一个版本进入。(4)、我们选择一个历史版本进来后显示二进制和源码两个下载方式。二进制版本是编译好的,可以直接使用。源码版本未经编译,需要自行编译(5)、选择二进制版本,点击进入下载。(6)、下载下来后直接解压就可以使用了。…

    2022年8月21日
    8
  • groovy 定义map_groovy map

    groovy 定义map_groovy mapMap<String,String>ad_config=result.dataad_config.each{data->println(data.key)println(data.value)}pangolin_global_full_screen_video_idadmob_app_idadmob_banner_idadmob_interstitial_idadmob_rew…

    2022年9月14日
    0
  • Linux之Ubuntu18.04安装Java JDK8的三种方式

    JavaJDK在linux系统有两个版本,一个开源版本Openjdk,还有一个oracle官方版本jdk,oracleJDK既可以通过添加ppa源命令行安装,也可以去官网下载jdk压缩包安装。下面分别记录一下这三种安装方式的步骤。安装openjdk1、更新软件包列表:sudoapt-getupdate2、安装openjdk-8-jdk:sudoapt-getin…

    2022年4月7日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号