高薪前端都应该具备的开发好习惯

news2024/9/21 18:51:56

格拉德威尔曾提出过一个“一万小时定律”,即任何人从平凡到大师的必要条件,就是历经1万小时的锤炼,而这“1万小时”也不是达到就行;如何构成,才是能否成为行业资深的关键。总结起来,就是四个字:多看+多练+刻意练习,那具体怎么做才可以完成这“1万小时”的锤炼?

优秀的Web开发人员工作效率更高,因为他们拥有丰富的经验和良好的习惯。工作多年,我有一些自己了解的习惯分享给大家,都曾让我受益,希望接下来的分享可以让您的工作事半功倍。

耐心一行行 Debug,但别钻牛角尖

写代码过程中总是会碰到这样那样的BUG,不解决浑身不舒服,没解决好领导不舒服,可是解决bug这种东西很多时候都是看运气的。这时候一定要有大局观,给自己充足的时间耐心去Debug,哪怕是通宵不眠,如果来不及的时候则要立刻去求助,前面的路不要省,在适当的时候放弃执念就可以节省掉很多时间。

三思而后行

程序员主要不是写代码; 相反,他主要是向其他程序员写有关他的问题解决方案的信。 对这一事实的理解是他作为工程师走向成熟的最后一步。 多问自己一些重要的问题:

  • 有完成工作的流程吗?命名变量时,多久权衡一次可读性和简洁的设计?是否创建PR(拉请求),以便比更有能力的人进行代码审查?代码重构是日常编码习惯的一部分吗?是否为实现的每个功能创建文档?编写代码时,过程多久进行一次基准性能测试?

有时,快速发布版本真的很重要,但是花时间来做功能测试是很有必要的。而且永远思考如何优化你的应用程序,这一点很重要。

成功的前端工程师很会善用工具

这些年低代码概念开始流行,像国外的Mendix,国内的JNPF,这种新型的开发方式,图形化的拖拉拽配置界面,并兼容了自定义的组件、代码扩展,确实在B端后台管理类网站建设中很大程度上的提升了效率。

我们在前端开发脚手架中,通常会创建一些通用的组件,然后在各个需要这个组件的地方进行引用,来提升开发效率。低代码开发就是用较少的代码来完成业务逻辑出来过程。有拖拽式的代码生成器,灵活的权限配置、SaaS服务,强大的接口对接,随心可变的工作流引擎。支持多端协同操作,100%提供源码,支持多种云环境部署、本地部署。

开源地址:https://www.yinmaisoft.com/?from=csdn

代码量少,系统的稳定性和易调整性都会得到一定的保障。基于代码生成器,可一站式开发多端使用Web、Android、IOS、微信小程序。代码自动生成后可以下载本地,进行二次开发,有效提高整体开发效率。像“乐高”一样设计你的门户,依然是拖拽式开发,可一站式搭建:生产管理系统、项目管理系统、进销存管理系统、OA办公系统、人事财务等等。可以节省开发人员80%时间成本,并且有以构建业务流程、逻辑和数据模型等所需的功能。

 ​我的母语无语...哦不,是英语

程序的世界是英文的世界,这个世界的问题,用它的语言去解决最高效,任何的技术问题。在操作系统上,把英语作为母语,在日常工作中,用英语作为搜索语言。坚持这件事十年如一日,当你看到一个英文单词,不必在大脑中做中文翻译,其意了然于胸。

写注释,写的溜还让别人看得懂

代码尽量多写一些注释。写的溜还让别人看得懂,也是一种能力。之前有个同事很喜欢写分隔线,某一个功能是从哪里开始,然后到哪里结束,但是我从来就翻不到我要的那一行,回回找回回找不到,多余写。

有必要写的地方就比如to啊,或者说这行代码可能稍微需要一些优化啊,有问题及时和后边开发的人或审核代码的人解释一下,解释一下为什么我要把它注释,或者说我使用了一些比较冷门的第三方插件我想要解释一下或者是附上一个文档链接等等。

不断的学习,为他人不断提供价值,只有这样,才能走的更久更远……这里要特别强调,和后端保持及时沟通。如果遇到问题,最好先沟通解决好,别问我是怎么知道的...... 

善于使用Bug追踪系统

行内人都知道,想要做好软件开发并非易事,这里面还包含大量的功能需求、Bug报告以及用户反馈的内容都值得我们好好去摸索。也许有的时候你会收到有关需求的要点列表邮件,再好不过了,不是谁都愿意花时间和你反馈的。这时候就要善于利用Bug追踪/项目管理解决方案,比如Basecamp(提供消息板,待办事宜,简单调度,协同写作,文件共享)或Trac,让你记录 ticket(问题)或者不会遗漏重要事项。

你要追踪这个问题发生的位置。为什么出现这种情况,这次提交的ticket(问题)到底是因为哪里出现的,然后解决它。

命名尽量要语义化

变量命名尽量要语义化。宁可很长,也不要短的让人摸不着含义。如果命名不明确,一旦变量名有很多的时候就会无从下手,搞不懂哪个是哪个了。这里命名其实也包括变量名,方法名,文件名,git的提交信息,分支名等等,要让其他开发者一看就知道你的方法是用来干什么的,这个文件是讲什么的。别说别人了,你过一年回头看你的代码,也要重新过一遍才能搞清楚每一个功能是怎么实现的,方便别人也方便自己哈。

格式化、格式化、还是TMD格式化

用VS Code去写,ESLint、stylelint、Beautify、Code Spell Checker这些插件都装上,尤其是在团队开发的时候,谁用谁知道。。。 最后,注释、格式化、格式化、还是TMD格式化。

多关注前端技术话题,多看书,利用空闲时间多看其他大神写的技术文章或者分享,多交流多借鉴。最后,我希望您可以有不同的看法和我分享,这段时间,我已经在整理有用的课程和视频,可以点我主页加关注mark住,让我们一起成为高薪的程序员。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Databend 开源周报 第 77 期

Databend 是一款强大的云数仓。专为弹性和高效设计。自由且开源。 即刻体验云服务:https://app.databend.com 。 What’s New 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 Features & Improvements Meta 使用 expressin::TableSch…

蓝桥杯单片机快速得奖方法(分享一些实用技巧)

文章目录前言一、蓝桥杯单片机痛点1.LED灯微亮2.数码管微亮3.蜂鸣器乱叫4.驱动程序不会写5.按键程序灵敏度低容易误操作6.矩阵按键代码总是记不住一写就忘记7.使用大量延时函数导致程序运行效率低下二、痛点解决方法1.锁存器的错误操作2.代码不熟练3.没有高效的代码总结前言 又…

微信小程序 java python django加油站服务系统

目 录 摘 要 I ABSTRACT II 第一章 绪 论 1 1.1选题背景 2 1.2研究现状 3 1.3研究内容 7 第二章 开发工具及关键技术介绍 8 2.1微信开发者工具 8 2.2小程序框架以及目录结构介绍 8 第三章 系统分析 10 3.1需求分析 10 3.2可行性分析 1…

Appium是如何工作的

Appium是由node.js开发的开源自动化测试工具,可用来测试移动端的Native、Hybrid和移动Web应用,被测平台包括Android和iOS(最近宣称已支持Windows)。 Native apps – 使用Android、iOS和Windows SDK开发的应用。 Mobile web apps …

存储区域网络将占下一代数据存储市场的 7%

根据 Future Market Insights 的最新行业分析,全球存储区域网络 (SAN) 市场预计将显示稳定的增长机会,在 2022 年至 2029 年的评估期内复合年增长率约为 3.9%。 2021 年全球市场估值达到 195.76 亿美元,到 2029 年将进一步扩大至 268.67 亿美…

车载以太网 - SomeIP测试专栏 - SomeIP Entry - 04

前面总纲内容有说,车载以太网中的SomeIP内容是非常多的,并且为了实现SOA的相关需求,提供了多种多样的报文类型,因此也就有了今天要说的SomeIP-SD中的重要组成部分之一的条目(Entry)部分,而SomeIP-SD在车载网络中占有相当大的比重,可以当做是一定要实现的,如果这块不实…

实现自己的数据库四

一前言上一篇已经说明了B树的一些原理,也讲到,我们目前采用的持久化数据的方式,而且我们是单独的插入数据,没有任何元数据信息,虽然插入的速度很快,因为是采用追加的方式。但是这种方式插入速度很快&#x…

Pd1 药物研发进展|销售数据|市场规模|竞争格局|前景分析

Programmed Death-1 (PD-1; CD279) 是一种在活化 T 细胞中诱导的抑制性受体,作为多种癌症的一线治疗药物。然而,严重的免疫相关不良反应限制了PD-1/PD-L1单克隆抗体的临床应用,尽管其疗效良好。 也迫切需要开发针对 PD-1/PD-L1 轴的新型抑制剂…

Torch 论文复现:Vision Transformer (ViT)

论文标题:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 从 TPUv3-core-days 可以看到,ViT 所需的训练时间比 ResNet 更短,同时 ViT 取得了更高的准确率 ViT 的基本思想是,把一张图片拆分成若干个…

Paddle入门实战系列(四):中文场景文字识别

✨写在前面:强烈推荐给大家一个优秀的人工智能学习网站,内容包括人工智能基础、机器学习、深度学习神经网络等,详细介绍各部分概念及实战教程,通俗易懂,非常适合人工智能领域初学者及研究者学习。➡️点击跳转到网站。…

每日学术速递1.31

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 今天带来的arXiv上最新发表的3篇NLP论文。 Subjects: cs.CL、cs.AI、cs.DB、cs.LG 1.Editing Language Model-based Knowledge Graph Embeddings 标题:编辑基于语言模型的知识图谱嵌入 作…

C语言求幂运算——奇特中文变量命名

写在前面 主要涉及C/C趣味编程应用及解析面向初学者撰写专栏,个人代码原创如有错误之处请各位读者指正,各位可以类比做自己的编程作业请读者评论回复、参与投票,反馈给作者,我会获得持续更新各类干货的动力。 致粉丝:…

【Rust】8. 包、Crate 和 模块管理(公有、私有特性)

8.1 包和 Crate 8.1.1 基本概念 crate 是 Rust 在编译时最小的代码单位;crate 有两种形式:二进制项(可以被编译为可执行程序)和库(没有 main 函数,也不会编译为可执行程序,而是提供一些诸如函…

Selenium+Java+Maven(12):引入Allure作为报告生成器

一、前言 本篇作为SeleniumJava系列的补充,讲了如何使用Allure作为测试报告生成器,来替代TestNG自带的测试报告或ReportNG测试报告,生成更加美观的(领导更喜欢的)测试报表。话不多说,一起来学习吧~ 二、A…

蒙特卡洛算法详解

蒙特卡洛算法是20世纪十大最伟大的算法之一,阿法狗就采用了蒙特卡洛算法。 1、定义 蒙特卡洛方法也称为 计算机随机模拟方法,它源于世界著名的赌城——摩纳哥的Monte Carlo(蒙特卡洛)。 它是基于对大量事件的统计结果来实现一些确定性问题的计算。其实…

什么是独立性?如何提高独立性?

独立是每个人必经的成长阶段,也是实现人生价值最重要的途径。没有独立就不能实现真正意义上的人生。独立是我们克服困难、实现抱负的最重要的精神力量,也是我们收获幸福的保障。1、什么是独立性?独立性是意志指不受他人影响、能够独立解决问题…

迟到两年的求职总结经验分享

迟到两年的求职总结&经验分享 写在前面 ​ 号主于2021年3月-2021年9月断断续续参加了校园招聘,包括但不限于:暑期实习、秋招提前批、秋招正式批。收获offer包括但不限于:某互联网推荐算法工程师、某通讯公司数据挖掘工程师、某金融科技…

docker 安装mysql8

docker 安装mysql8无法远程登录 # 启动容器 docker run \ -p 13306:3306 \ --name mysql \ --privilegedtrue \ --restartalways \ -v /home/mysqldata/mysql:/etc/mysql \ -v /home/mysqldata/mysql/logs:/logs \ -v /home/mysqldata/mysql/data:/var/lib/mysql \ -v /etc/l…

C++11线程间共享数据

C11线程间共享数据 使用全局变量等不考虑安全的方式以及原子变量这里就不进行说明了。 在多线程中的全局变量,就好比现实生活中的公共资源一样,比如你有一个同时只能允许一个人做饭的厨房,那么在你占用期间,你的室友就必须等待。…

synchronized锁的升级

synchronized锁优化的背景 用锁能够实现数据的安全性,但是会带来性能的下降 无锁能够基于线程并行提升程序性能,带来安全性的下降 java5 synchronized默认是重量级锁,java6以后引入偏向锁和轻量锁,java15 逐步废弃了偏向锁 …