写点什么

我在 17 岁时学到的 7 个有用的编程经验

  • 2019-10-31
  • 本文字数:1533 字

    阅读完需:约 5 分钟

我在17岁时学到的7个有用的编程经验

我叫 Alec,今年 17 岁。我从 12 岁就开始学习 Web 开发。虽然我现在还算不上一名优秀的开发者,但我肯定已经学会如何成为一名合格的开发者。



我认为,以下几点是每一个开发者,特别是新手应该知道的。

1.没有人无所不知

没有人无所不知,你也没必要知道所有东西。


作为一名开发者,你有很多事情要做,而不仅仅是记住某些具体的技术细节,比如 PHP 5.6 里有多少种操作数组的方法。有些细节不懂没有关系,如果忘记了可以谷歌一下。


作为一名开发者,有很多重要的事情可以帮你提升自己,而不仅仅是记住那些不重要的技术细节:


  • 提升解决问题的技能;

  • 提升团队合作和沟通技能;

  • 学习编程语言和概念;

  • 通过创建项目来展示你的工作成果;

  • 编写简洁高效的代码。


作为一名开发者,你不需要知道所有东西,你只需要知道如何解决问题就可以了。

2.从 bug 中学习

如果你的代码里没有 bug,说明你学不到任何东西。


代码没有 bug 并不能说明你就是一名优秀的开发者,只能说明你对 bug 太过小心翼翼。你已经遇到过类似情况太多次了,所以知道如何避免写出有 bug 的代码。


通过修复 bug,你可以成为一名更好的开发者。在开发过程中会遇到无穷无尽的 bug,所以,你修复 bug 的速度越快,越是能成为一名更好的开发者。

3.正规教育并不是必需的

17 岁的我在思考这个问题:我需要去上大学拿个计算机科学学位吗?



我很难回答这个,不过,大多数人已经过了 17 岁的年纪,而且大多数已经在工作了。


如果你已经上过大学,当然没有必要再去拿个计算机科学学位,也不需要参加什么编程训练营。


在 GitHub 上放一些有趣的项目就足以说明一些事情了。如果你可以证明自己有编程能力,背景就不那么重要了。


问题的关键在于你的学习方式。


我是没得选择,我只能在周末学习编程,因为我不能翘课几个礼拜去参加训练营。


如果你想要回到大学拿一个计算机科学学位,或者参加训练营,那就去吧,但真的没有必要。

4.使用谷歌也是一个重要的技能

要想成为优秀的开发者,你需要不断提升使用谷歌的技能。因为谷歌是找到解决方案和代码的一种有效的方式。


开发者经常会用到谷歌,特别是在学习新技术时。


谷歌提供了一些技巧,有助于改进搜索结果的质量。



有时候,你需要找到一些解决方案来解决自己都不理解的问题。不过谢天谢地,谷歌可以帮你找到答案。

5.多思考,不要光顾着写代码

在写代码时你可以问自己:“这些代码怎么写最好”?


我通常是在写出不太好的解决方案之后才知道它不是最好的。第一个解决方案通常是首当其冲进入我脑海里的那个,但它们通常都不是最好的。


写代码不需要太多时间,迫不及待就把代码写完的人都太草率了。你需要做的是多花点时间想出更好的解决方案。


测试驱动开发虽然有点乏味,但可以帮你做到这一点,因为你要先想好需要怎样的功能,在想好这些东西之前是无法开始写代码的。


当然,凡事都有例外,我并不是说你在写每一行代码之前都要思考很久。


但不管怎样,在写代码前多思考可以帮你省下用于重构和修复 bug 的时间。

6.小心教程里的陷阱

在刚开始时可以通过教程来学习编程,但我认为除了这些教程,还有其他东西可以学。


你或许可以从教程里学到一点东西,但你可能并不知道自己在做什么以及为什么要那么做。


另外,教程会跳过代码里重要的部分,而你可能只是简单地拷贝粘贴教程里的代码,都不问问为什么代码要那么写。


学习编程最好的方式是创建一个自己想要完成的项目,然后开始写代码,写自己的代码,修复 bug,参考各种文章。

7.制表符比空格好

当你在阅读这篇文章时,你可能会认为我是那种“喜欢用空格键的家伙”。但其实不然,我认为每个人在写代码时都应该使用制表符。


制表符在不同的电脑上呈现的效果可能不一样,但敲击一次制表符键比敲击多次空格键要容易得多。


原文链接:


7 important lessons about programming that I’ve learned at 17


2019-10-31 14:083032

评论

发布
暂无评论
发现更多内容

AI口语陪练APP的技术难点

北京木奇移动技术有限公司

AI技术 软件外包公司 AI口语练习

腾讯二面:Redis与MySQL双写一致性如何保证?

王中阳Go

MySQL 高可用 面试问题 redis 底层原理

赛果公布!有灵AOP平台首届编程挑战赛圆满落幕

网易伏羲

编程 aop 网易伏羲 AOP编程

AnyToISO Pro for Mac(专业级ISO镜像文件制作工具)中文版

Mac相关知识分享

QT软件系统的优化

北京木奇移动技术有限公司

软件外包 QT软件开发 QT软件外包

BetterDisplay Pro Mac(显示器管理工具)

Mac相关知识分享

时序数据库TDengine 3.3.5.0 发布:高并发支持与增量备份功能引领新升级

TDengine

数据库 tdengine 时序数据库

AI口语陪练APP开发的关键技术

北京木奇移动技术有限公司

英语学习 软件外包公司 AI口语练习

Microsoft Remote Desktop for Mac(微软远程连接软件)

Mac相关知识分享

信息安全运维审计系统是什么?英文怎么翻译?

行云管家

信息安全 运维审计 运维审计系统

AI智能体(AI Agent)开发的技术难点

北京木奇移动技术有限公司

AI教育 AI智能体 软件外包公司

一路相伴,非凸科技助力第49届ICPC亚洲区决赛

非凸科技

全域数据资产管理平台 | SimbaFabric

奇点云

大数据 AI 数据平台 大模型

1月15日直播预告丨AI赋能指标管理分析 开启企业数智领航时代

袋鼠云数栈

SecureCRT for mac(终端SSH工具)

Mac相关知识分享

QT跨平台系统的开发及特点

北京木奇移动技术有限公司

软件外包公司 QT外包开发 QT开发

京东商品视频API接口系列(京东API)

tbapi

京东API接口 京东商品视频接口

Downie 4 for Mac(视频下载工具)

Mac相关知识分享

Java 开发中,你真的了解这些对象的差异与用途吗?

高端章鱼哥

AIP智能体平台:重塑微服务治理的新时代

大东(AIP内容运营专员)

人工智能

LED显示屏生产中的技术控制要点

Dylan

数字化 LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家

通往强人工智能的道路:挑战与可能的突破点

天津汇柏科技有限公司

AI 人工智能

Paste for Mac(剪切板历史管理工具)

Mac相关知识分享

SMART Utility for mac (磁盘诊断工具)

Mac相关知识分享

Navicat Premium 15 for Mac(数据库开发工具)中文版

Mac相关知识分享

Photoshop 2024 for mac(ps图像编辑处理软件)中文版

Mac相关知识分享

DriveDx for mac(mac磁盘健康检测和监控工具)

Mac相关知识分享

为什么软件测试开发需要智能体(AI Agent)?

测试人

软件测试

AIP智能体平台:重塑日常工作流程,提升团队效率

大东(AIP内容运营专员)

人工智能

刷力扣的技巧:4个步骤7个关键点,事半功倍,冲进大厂!

王中阳Go

算法 面试题 力扣 大学生就业 求职面试

用DevEco Studio性能分析工具 高效解决鸿蒙原生应用内存问题

最新动态

我在17岁时学到的7个有用的编程经验_文化 & 方法_Alec Jones_InfoQ精选文章