zoukankan      html  css  js  c++  java
  • 做一个有“尊严的”前端工程师

    这两天公司有组织学习开发者的素质,讨论的话题是“如何做一个有‘尊严的’”工程师,但是我更喜欢听别人说“你是一个有‘尊严’又有灵魂”的工程师。那到底什么叫“有尊严”呢?

    物理学中有个名词 ——“固有属性”,我十分喜欢它,如果说我们前端工程师的固有属性,那么我觉得那便是我们的代码风格,不一样的解决问题的办法。而什么叫“有尊严”呢?这不仅仅是你的经验有多深,能力有多强,而更多的是你如果在项目中去为公司的人提供服务。更多的是你在我们前端开发的路上的贡献值,个人的KDI。

    今天我想说说如何让你在项目中去赢得团队的认可,如何快速让你融入团队,如何少走弯路;其实我说的坑,自己不知道爬了多久。前端要做好数据表现、交互行为、逻辑判断、事件分离,插件的使用、团队开发中的插件使用。

    我相信人的技术都是有缺陷的,都是片面的,你如果遇到问题了,那么恭喜你,在开发中可能又进了一步;遇到问题的时候,自己先不要写代码了,拿一张A4纸想想你的问题点在哪里?是逻辑判断出错了?还是获取数据方式的问题?还是你交互事件的事件源选取有问题呢?“对症下药”,如果你连问题都没有搞明白,怎么可能会有好的办法去解决问题呢?

    加一些开发的群,你可以不去聊天但是别人的问题记得去思考,看看自己会不会呢?这样下来,你可以避免很多坑,同时自己有问题可以抛出去,你可以得到一个方向,同时自己要去写一些自己经常会用到的框架,最好的文档规范(ps:这个文档是帮助公司或者使用的的开发快速上手,熟练使用的)。如果你在公司做到这个地步,我想你多半是管理者,或者是优化者。

    在项目中,你其实更多的是交流,敲代码比较多就是需求和功能明确的情况下,你只是一个机械化的操作者,coding和调试,或者就是console、debugger;、插件、这或许是大部分前端工程师所处的环境,如果你缺失了总结,你可能就是工作之后就忘记了,没有提升的可能。等你到“35”,你coding不动的时候,就是后者把你拍死了。

    在项目你可能回遇到许多的坑,不是自己写的而是你们公司的其他同事,甚至公司的每一个人都知道,就是你不知道,那么请在你动手之前,一定记得去备份好数据,这样你在开发中遇到问题了,起码还可以还原回去的。

    备份的建议你去github建立自己的账号和项目,还有仓库,去储存自己的code,这样保持自己的code不会丢失。还有一些经典的问题:

    1.比如点击其他任何地方除了这个弹出的区域,它都会消失?怎么去实现呢?

    2.滚动条:局部滚动条的实现。除了父级元素设置高度和overflow:auto;怎么实现不用插件就能有这个效果呢?

    3.使用模板语法去动态生成一个select中的option,如何去动态获取它每一次选取的value和返回数据中的另一个数据呢?我目前还在思考,已经实现了,但是还有有点笨拙。

    如下:(ps:你如果有好办法就请留言咯)

    1 $.each(newChapter, function (index, ele) {
    2                     $("#cm-ssv-sel").append('<option value ="' + ele.Id + ' " name ="'+ele.LearningStageSubjectRID+ '" id ="aaa'+ele.Id+'">' + ele.Name + '</option>'); 
    3                 });

    这里的不好处就是定义了id,虽然可以实现功能,但是id用多了,比较low;

    获取option的值得方法:

    var id = parseInt($(dom).val());
    
    var key = $('#aaa'+id).attr('name');
    

      

    总后,想说一下JavaScript的学习,推荐大家看“你不知道的JavaScript”,在项目中交流的时候,你不管是领导还是开发者,请控制好自己的情绪,要以理服人,“有尊严”不仅仅是简简单单的一句话,而是我们值得去修正自己的缺点,不断进步的方向。

    优秀的人一直在路上,优秀的你一直在尝试写新bug
  • 相关阅读:
    封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)
    计算机网络之数据链路层的基本概念和功能概述
    物理层设备(中继器、集线器)
    计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
    计算机网络之编码与调制
    0953. Verifying an Alien Dictionary (E)
    1704. Determine if String Halves Are Alike (E)
    1551. Minimum Operations to Make Array Equal (M)
    0775. Global and Local Inversions (M)
    0622. Design Circular Queue (M)
  • 原文地址:https://www.cnblogs.com/starryqian/p/6503193.html
Copyright © 2011-2022 走看看