写点什么

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

评论

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

厂长来了 | 从个人英雄到软件工程,我们经历了什么

万事ONES

项目管理 研发管理 SaaS

研发效能度量引发的血案

CODING DevOps

DevOps 团队协作 研发效能 腾讯云 CIF 峰会 度量

疫情反复,声网如何助力青岛教育局保障线上教学体验?

声网

人工智能 网络

空降Github榜单,火爆全网的Spring Security手册及源码笔记,竟然标星103K

Java 架构 面试 程序人生 编程语言

模块八:设计消息队列存储消息数据的MYSQL表格

kk

架构训练营

华为云GaussDB(for openGauss) 同城双集群高可用方案正式发布

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

【案例】云链智运携手百度OCR,实现货运物流智能化升级

百度大脑

人工智能

如何绕过WAF和本地防火墙双重防护?

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

如何绘制一个仪表盘

Changing Lin

android 10月月更

操作系统虚拟化VMware, Citrix, Hyper-v比较

hanaper

“无用发明家”告诉你,5G推开了三重门

脑极体

OpenCV学习(一):简介

轻口味

android OpenCV 音视频 10月月更

从坐席到外呼,明道云与品聘云呼叫对接示例

明道云

面试失败总结,这577道LeetCode题Java版答案你值得拥有

Java 架构 面试 程序人生 编程语言

011云原生之事件驱动架构模式

穿过生命散发芬芳

云原生 10月月更

一个Camel Multicast组件聚合策略问题的解决过程

华为云开发者联盟

消息 Apache Camel Multicast 组件 Multicast 子路径

记一次Kafka服务器宕机的真实经历!!

冰河

Docker kafka 运维 服务器 消息队列

阿里P8呕心沥血整理出这份32W字Java面试手册,竟然在Github上标星80K+

Java 架构 面试 程序人生 编程语言

想不明白!Github上竟然有阿里专家仅凭800页MySQL笔记火了

Java 架构 面试 程序人生 编程语言

研发应用--Prometheus

en

Prometheus

腾讯面试聊到的几种存储虚拟化

hanaper

一文看懂微服务背后的技术演进与应用实践

阿里巴巴中间件

阿里云 微服务 云原生 中间件

浅谈云上攻防--SSRF漏洞带来的新威胁

腾讯安全云鼎实验室

漏洞分析 SSRF

汽车域控制器(上):动力域控制器、底盘域控制器、智能座舱域控制器

SOA开发者

汽车域控制器分类(下):自动驾驶域控制器、车身域控制器

SOA开发者

云原生消息、事件、流超融合平台——RocketMQ 5.0 初探

阿里巴巴中间件

阿里云 RocketMQ 云原生 中间件 消息

企业如何通过迁移到云平台来减少开支

云计算

逛街时偶然发现的阿里P8Java成长笔记,竟然在Github上标星90K+

Java 架构 面试 程序人生 编程语言

什么是激光雷达的“发动机技术”?一文讲透行业技术壁垒(二)

SOA开发者

深度解读 | 《2021年中国企业级 SaaS 行业研究报告》趋势剖析

万事ONES

SaaS 研发管理工具 ONES

DBeaver

soap said

开发工具 数据库客户端

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