写点什么

我在 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:083134

评论

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

测试开发 | 词嵌入(Word Embeddings):赋予语言以向量的魔力

测吧(北京)科技有限公司

测试

Sobit:将BRC20资产桥接到Solana ,加速铭文市场的火热

股市老人

Autogen4j: the Java version of Microsoft AutoGen

HamaWhite

agent openai LLM

EDAS 让 Spring Cloud Gateway 生产可用的二三策

阿里巴巴云原生

阿里云 云原生 EDAS

拼多多数据宝贝(掌握拼多多数据分析方法)

tbapi

拼多多 拼多多商品详情接口 拼多多API接口 拼多多商品采集方法

淘宝API接口:助力电商应用快速开发

tbapi

淘宝商品详情数据接口 淘宝商品列表数据接口 淘宝API 关键词搜索淘宝商品列表 关键词搜索淘宝商品接口

测试开发 | TensorFlow:深度学习的引擎

测吧(北京)科技有限公司

测试

C 语言中布尔值的用法和案例解析

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

作息时间提醒软件推荐:MacBreakZ 5免激活最新版

胖墩儿不胖y

Mac软件 休息提醒工具

测试开发 | 命名实体识别(NER):解锁文本中的信息宝藏

测吧(北京)科技有限公司

测试

慢调用链诊断利器-ARMS 代码热点

阿里巴巴云原生

阿里云 云原生 可观测

面对大促场景来临,如何从容进行性能测试

阿里巴巴云原生

阿里云 云原生 压测

通过 Higress Wasm 插件 3 倍性能实现 Spring-cloud-gateway 功能

阿里巴巴云原生

阿里云 云原生

Hago 的 Spark on ACK 实践

阿里巴巴云原生

阿里云 云原生

软件开发

Geek_8da502

Confluent 与阿里云将携手拓展亚太市场,提供消息流平台服务

阿里巴巴云原生

阿里云 云原生

SAE 2.0,让容器化应用开发更简单

阿里巴巴云原生

阿里云 Serverless 云原生

拼多多新店玩直通车(拼多多新店直通车拉爆流量)

tbapi

拼多多 拼多多商品详情数据接口 拼多多直通车 拼多多API

测试开发 | 自然语言处理基础:从文本到智能

测吧(北京)科技有限公司

测试

测试开发 | PyTorch:深度学习的艺术之选

测吧(北京)科技有限公司

测试

Sobit:将BRC20资产桥接到Solana ,加速铭文市场的火热

鳄鱼视界

Koordinator 支持 K8s 与 YARN 混部,小红书在离线混部实践分享

阿里巴巴云原生

阿里云 开源 云原生

阿里云 ARMS 应用监控重磅支持 Java 21

阿里巴巴云原生

Java 阿里云 云原生

质量核心

玄兴梦影

质量 质量指标

全球首款容器计算产品重磅发布,激活上云用云新范式

阿里巴巴云原生

阿里云 云原生 ACS

云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单

阿里巴巴云原生

阿里云 云原生

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