[深度好文]想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~外加一些自己的理解

简介: 前言:无意间浏览到此篇文章,发现这篇文章无论是对于新手程序员,还是学过几年的程序员,都是挺有帮助的。于是,在此分享,后面也有我自己的一些理解,希望能帮到更多的朋友。作为一个软(ku)件(bi)工(de)程(ma)师(nong),你有没有觉得做什么事都没时间?没时间学习新东西,没时间去回顾、整理原来写的烂代码,没时间写单元测试,没时间给接管你项目的家伙写文档,没时间思考,没时间喘气,没!时!间!额……如果你肯花点时间看看这篇文章,我相信你会明白应该把时间花在哪。

前言:

无意间浏览到此篇文章,发现这篇文章无论是对于新手程序员,还是学过几年的程序员,都是挺有帮助的。于是,在此分享,后面也有我自己的一些理解,希望能帮到更多的朋友




作为一个软(ku)件(bi)工(de)程(ma)师(nong),你有没有觉得做什么事都没时间?没时间学习新东西,没时间去回顾、整理原来写的烂代码,没时间写单元测试,没时间给接管你项目的家伙写文档,没时间思考,没时间喘气,没!时!间!


额……如果你肯花点时间看看这篇文章,我相信你会明白应该把时间花在哪。


我曾以为成为一个技术大牛的唯一途径是玩命地学习与工作。这个想法差点毁了我。身体越来越差,和家人与朋友越来越疏远,很快我就撑不住了。后来我开始反思,发现自己的时间安排极为不合理,并逐渐悟出了下面这5个道理,这才让自己从那种高压状态中解脱出来。




不要因为怕自己落伍而去学习新东西

一个优秀的开发者始终在学习,这一点毋庸置疑。诚然,旧的技术终会被淘汰。但是新的技术终有一天会变成旧的。因此,没有必要一味地去追求最新的技术。

平均每37秒就会诞生一个新的标准或框架,你不可能把它们都学会。很多新技术、框架或者新特性对你来说都不是必需的,你没必要非得了解它们。真正有价值的技术需要经过社区和市场一段时间的打磨才能出现。IT公司通常都会重点培养适合于自己的技术,没有哪个公司会一拍脑门让自己的代码去适配某个全新的框架。因此你也不用太担心因为某些新技术而被裁员。你需要关注的是这三类知识,按照优先级排列如下:

(1)基础。基础是重中之重。当你掌握一门基础知识后,你可以快速掌握其相关的技术。比如如果你非常熟悉JavaScript,那么基于JavaScript的任何框架都难不倒你。如果你掌握了面向对象编程,那么你可以快速掌握一门新的面向对象的语言。深入学习基础能够大幅提高你的学习效率。

(2)你常用技术的最新版本。你平常用得最多的技术才是你的铁饭碗。如果它们出了新的版本,那么你有必要花时间去学习一下。


(3)大公司推崇的技术。如果一个非常知名的公司(如谷歌、脸书和微软)发布了一个新的技术并不断地对它进行维护,那么这个技术就值得你去关注。曾经社区里有成百上千个非常火的JavaScript框架,结果Angular和React的出现瞬间抢走了他们的风头。


好好规划你的学习时间,每天安排一段时间来学习。这段时间不一定很长,哪怕只有25分钟也能使你有所成长。



写出高效的代码比一般的代码要花更多的时间

当你运行完程序并发现功能实现的时候,你感觉工作已经完成了,实则不然。实现一个新的功能除了编写新的代码以外,还包括对该功能相关的其他部分已有代码的调整与优化。当你发现你的一部分时间花在完善代码的设计上了,那么从长远角度来看你遇到的错误会更少一些。


要想减少你的代码的错误并优化设计,你需要注意以下两点:

(1)先准备好测试环境,然后再开发。先将测试功能配置好,然后再编写符合测试标准的代码。这样既可以减少bug的产生还能优化你的代码思路,因为你在编写代码的时候就严格遵守更加合理和规范的标准。这会使你的代码变得简洁、高效。

(2)迭代完成你的工作而不是一步到位。在你的代码实现需求之前不要花时间去完善它。你永远也不可能使你的代码处于完美的状态。你优先要做的就是让你的代码完成指定的功能。通常情况开发者会犯这两个错误:要么花了太多时间思考而没有充足的时间去实现,要么没有在设计最初的方案上花足够的时间。遵循Kent Beck说得这句话:

“先让它生效,再让它正确地工作,最后再让它更高效”。


7*24小时的工作不会让你成为佼佼者,合理的时间安排才是最重要的

这个经验源于我自身的教训。我曾经为了让老板和客户满意而疯狂地工作。我害怕说“不”,不想让其他人失望。我尽我所能去完成工作,曾经大量摄入咖啡因通宵地工作,困了就直接睡在我的办公桌上。

起初我是全公司的楷模。我得到老板的赏识并感觉风光无限,前途一片光明。这种并不长久的过度表现使其他人对我产生了过高的期待,很快我就撑不住了。结果我的身子垮了,经常生病,耽误了工作。公司的人变得不再信任我。 


后来我渐渐明白真正的佼佼者是那些一直可靠的人。他们保证的事一定会做到。要想成为那样的人就必须认真规划自己的时间。


你必须牢牢把握自己时间的控制权,在约定好的期限即将到达的时候高质量地完成你的工作。要想做到这一点起初会很难,因为你需要对超出你能力范围的任务说不。

刚开始,你的老板和客户可能不太会在意你。但是一旦你建立起靠谱、可信的名声后,一切就都不一样了。随着时间的推移,其他开发者都会渐渐显露疲态,变得不再那么可靠,而你则会脱颖而出,成为团队里的佼佼者。我就是这样成为了行业翘楚。我很好地协调了自己的时间并调整他人对自己的期望值,因此建立起了高质量和高实效的好名声。



不是所有的付出都会有回报

花时间也是一种投资。和其他的投资一样,你非常期待投资会有回报,希望在回本的基础上有所收益。


我之前曾提到“先让它生效,再让它正确地工作,最后再让它更高效”这句话。但是不要误解,这里的“正确”不代表完美,“高效”不代表追求极致。“正确”意味着你的代码能够准确地实现功能并易于维护。“高效”意味着不影响用户体验。最关键的一点是你的应用要让用户感觉很快。


因此,不要纠结于优化一个基本上不用的函数,也不要为了仅节省几毫秒而去修改一个已经比眨眼(大约300毫秒)还要快的功能。不要因为你学了一个新的技术或方法就把你之前写的功能正确、结构完整的代码推翻重写。



按照时间表去工作可以使你更加高效

起初我很难理解这一点。你不将你的精力全部投入到工作中也能做到高效?恩,这是真的。Allison Gabriel是弗吉尼亚联邦大学的管理学教授助理,主要研究工作需求和员工动机。她认为:“很多研究表明人的认知能力是有限的,当你不断地去耗费你的能力时,你并不能达到最佳的工作状态。当你被自己榨干时,你的效率会大幅下降。”


永远不要在压力非常大的时候工作,尤其是你非常疲劳、情绪不好的时候。这些不安因素都会让你分心,从身心两方面对你造成不良影响,降低你的工作效率。

人脑的自控能力好比是一种资源,当你进行自我控制时,这个资源会被消耗一部分。如果你的自控能力被大量消耗的话你就不能集中注意力,自然就不能高效地工作了。


不论你是否乐意,你的身心都需要一个休息的时间。因此在每天的时间表里都要安排休息的时间。严格按照时间表的休息时间去休息,不多也不少,这样可以让你在充分休息的同时不感到内疚。指定明确的休息时间可以让你以更加自如的心态去工作,因为你知道你有休息的时间而不是无休止的工作下去。




结语

了解了这五个经验,相信你已经明白了应该如何安排自己的时间。合理地安排你的学习、工作与休息的时间,制定出详细的时间表并严格按照它执行。学习你应该学的、花时间在一些必要工作上、该休息的时候好好休息。希望你也能在自己的领域崭露头角,成为一个真正的大牛~

以上除前言外为转载,原文链接:

igeekbar《想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~》


我的理解:

仔细阅读完上面的文章,对此文章有点小小的总结。上面的文章说了5个经验,也就是:

1、不要因为怕自己落伍而去学习新东西

我觉得更准确的说,其实应该是:不要因为怕自己落伍而去学习所有的新东西/技术。

一个人的精力与生命总是有限的,正如前文所说:平均每37秒就会诞生一个新的标准或框架。

试问,就单说这个每37秒诞生的一个标准或框架,都无法全部学来,更何况编程语言如此大的一个概念。正因为我们精力与生命有限,所以,我们要学会学习,学会挑选。

上面总结了小3点,也就是:基础常用技术的最新版本大公司推崇的技术


2、写出高效的代码比一般的代码要花更多的时间

如何写出高效的代码,在我的理解看来,这不是一蹴而就的,这需要积累,自己平时写代码的时候,就需要注意代码的高效性这个问题。

在水平有限的时候,我们可以不必追求高效。在水平提高一些后,就该注意这个问题了。在用我们自己的代码完成完整的功能后,可以对已经完整的代码去进行进一步的完善。

或者最好一开始就先设计架构好项目,对后面的开发与查错很有帮助的。

因为自己水平目前有限,无法做出更多的理解。见谅~


3、7*24小时的工作不会让你成为佼佼者,合理的时间安排才是最重要的

即使我们再怎么想努力工作,一天也只有24小时,而你能学习的,除去必须的吃饭睡觉运动,个人觉得一天能有10个小时左右的累积学习时间,那么,坚持下去,每个月你都能看到自己明显的进步了。

合理的安排时间,这个也是挺重要的,个人并不喜欢全部依赖计划行事,毕竟,总会有一点意外的。但是适当的规划,还是必要的。

例如,这一天学习什么,学多少。一周学习完哪些东西。这个月做哪些事、等等,我觉得虽然不需要详细的计划,但是,至少,明白自己要做什么,应该学习什么。而不能完全随性而为,想到做啥了就去做啥,然后到最后,啥也没真正的做好。


4、不是所有的付出都会有回报

正如此小标题所说,不是所有付出都会有回报,准确的说,这是一句人生哲理了。相信大家对此都有一些了解,我也就不再说明了。


5、按照时间表去工作可以使你更加高效

时间表这个东西,挺好的。但是最好不要把时间分成很细。

分成大概就好。而且安排在时间表上的事,不要随意去更改,可能对于一个刚开始按照时间表去做事,挺难的,但是坚持下去,无论是学习的效果还是其他例如锻炼方面的效果都会是很明显的。


最后-我的理解如有不恰当之处,欢迎指出。


本文章由[谙忆]编写, 所有权利保留。
转载请注明出处:http://blog.csdn.net/qq_26525215  ------大学之旅_谙忆的博客



目录
相关文章
|
5月前
|
存储 安全 API
12种最基本Web API:开发者的必学清单⭐
这些Web API 为创建高度互动和用户友好的网页应用开辟了无限可能。从存储和支付到地理位置和图形,掌握这些 API 可以提升您的Web开发技能。
286 2
|
6月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
161 6
|
7月前
|
搜索推荐 API 数据库
揭秘!Bottle框架如何以极简之姿,重塑Web开发格局,让开发者爱不释手?
【8月更文挑战第31天】在互联网飞速发展的今天,Bottle凭借其独特的简约理念,成为重塑Web开发格局的创新力量。与繁重的传统框架不同,Bottle核心文件仅数千行,却能支撑完整应用,让开发者快速上手,专注业务逻辑。其直观的API设计使Web开发变得异常简单,无需复杂配置即可快速搭建Web服务。此外,Bottle还具有强大的可扩展性,可通过集成第三方库满足复杂需求。
73 1
|
7月前
|
前端开发 JavaScript API
【独家揭秘】Bottle框架为何能俘获开发者的心?三大实战案例带你领略Web开发新境界!
【8月更文挑战第31天】Bottle是一款轻量级Python Web框架,以简单高效著称,秉持极简设计,适合快速开发小型项目或构建API服务。本文通过具体代码示例展示Bottle框架的独特魅力,从安装到创建应用、路由设置、模板渲染及表单处理等方面进行详细介绍,帮助读者轻松上手并掌握Bottle的应用技巧。
140 1
|
7月前
|
前端开发 JavaScript C#
C#开发者的新天地:Blazor如何颠覆传统Web开发,打造下一代交互式UI?
【8月更文挑战第28天】Blazor 是 .NET 生态中的革命性框架,允许使用 C# 和 .NET 构建交互式 Web UI,替代传统 JavaScript。本文通过问答形式深入探讨 Blazor 的基本概念、优势及应用场景,并指导如何开始使用 Blazor。Blazor 支持代码共享、强类型检查和丰富的生态系统,简化 Web 开发流程。通过简单的命令即可创建 Blazor 应用,并利用其组件化和数据绑定特性快速搭建界面。无论对于 .NET 还是 Web 开发者,Blazor 都是一个值得尝试的新选择。
373 1
|
7月前
|
数据库 开发者 Java
Hibernate映射注解的魔力:实体类配置的革命,让你的代码量瞬间蒸发!
【8月更文挑战第31天】Hibernate 是一款出色的对象关系映射框架,简化了 Java 应用与数据库的交互。其映射注解让实体类配置变得直观简洁。本文深入剖析核心概念与使用技巧,通过示例展示如何简化配置。
79 0
|
7月前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
146 0
|
7月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
208 0
|
7月前
|
JSON API 数据库
探索FastAPI:不仅仅是一个Python Web框架,更是助力开发者高效构建现代化RESTful API服务的神器——从环境搭建到CRUD应用实战全面解析
【8月更文挑战第31天】FastAPI 是一个基于 Python 3.6+ 类型提示标准的现代 Web 框架,以其高性能、易用性和现代化设计而备受青睐。本文通过示例介绍了 FastAPI 的优势及其在构建高效 Web 应用中的强大功能。首先,通过安装 FastAPI 和 Uvicorn 并创建简单的“Hello, World!”应用入门;接着展示了如何处理路径参数和查询参数,并利用类型提示进行数据验证和转换。
245 0
|
7月前
|
JSON 数据库 开发者
FastAPI入门指南:Python开发者必看——从零基础到精通,掌握FastAPI的全栈式Web开发流程,解锁高效编码的秘密!
【8月更文挑战第31天】在当今的Web开发领域,FastAPI迅速成为开发者的热门选择。本指南带领Python开发者快速入门FastAPI,涵盖环境搭建、基础代码、路径参数、请求体处理、数据库操作及异常处理等内容,帮助你轻松掌握这一高效Web框架。通过实践操作,你将学会构建高性能的Web应用,并为后续复杂项目打下坚实基础。
250 0

热门文章

最新文章