AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

评论

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

基于开源流批一体数据同步引擎ChunJun数据还原—DDL解析模块的实战分享

袋鼠云数栈

开源技术交流丨ChengYing部署Hadoop集群实战

袋鼠云数栈

袋鼠云思枢:数驹DTengine,助力企业构建高效的流批一体数据湖计算平台

袋鼠云数栈

想要精准营销,从学习搭建一套对的标签体系开始丨DTVision分析洞察篇

袋鼠云数栈

从洞察到决策,一文解读标签画像体系建设方法论丨DTVision分析洞察篇

袋鼠云数栈

培训预告 | 企业应用现代化实用教程——微服务治理与开发篇

York

容器 微服务 云原生 数字化转型 应用现代化

DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全

极狐GitLab

Docker gitlab 运维 DevSecOps IaC

落地DevOps,探索高效研发运营一体化解决方案

云智慧AIOps社区

DevOps 质量管理 代码管理 自动化运维 研发效率

开源项目丨Taier1.2版本发布,新增工作流、租户绑定简化等多项功能

袋鼠云数栈

如何在BI中增加“路线地图”并进行数据分析?

葡萄城技术团队

“阿里爸爸”最新总结的303页Spring全家桶高级笔记,都是面试必问的知识点

Java工程师

Java spring Spring全家桶

走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?

袋鼠云数栈

老忘记带伞,自己动手做一个雨天提醒打伞小工具

华为云开发者联盟

云计算 开发 aPaaS

DataOps不是工具,而是帮助企业实现数据价值的最佳实践

袋鼠云数栈

活动报名| MongoDB 使用规范及最佳实践线上直播来啦!

MongoDB中文社区

mongodb

全新升级!《云原生架构白皮书 2022 版》重磅发布

阿里巴巴云原生

阿里云 架构 云原生 白皮书

数据资产为王,如何解析企业数字化转型与数据资产管理的关系?

袋鼠云数栈

当我们在聊「开源大数据调度系统Taier」的数据开发功能时,到底在讨论什么?

袋鼠云数栈

自动化测试-存储测试用例,哪个更好

和牛

Python 自动化 测试 8月月更

1分钟创建3000台云电脑 阿里云无影发布多款千人协同生产力方案

Lily

流批一体开源项目ChunJun技术公开课——ChunJun同步Hive事务表

袋鼠云数栈

开源大数据调度系统Taier技术公开课——Taier数据开发介绍

袋鼠云数栈

开源交流丨批流一体数据集成工具ChunJun同步Hive事务表原理详解及实战分享

袋鼠云数栈

开源一夏 | layui时间控件 laydate 重置失效

六月的雨在InfoQ

开源 layui 8月月更 laydate

袋鼠云申杭:数雁EasyDigit,致力成为金融行业数据洞察平台供应商的“领头雁”

袋鼠云数栈

开源项目丨一文详解一站式大数据平台运维管家ChengYing如何部署Hadoop集群

袋鼠云数栈

用 manim 写一个排序算法动画

ooooooh灰灰

算法 前端 后端 动画 排序

【接入指南 之 云云接入】快速接入HONOR Connect平台(下)

荣耀开发者服务平台

开发者 IoT 新手指南 荣耀 honor

开源技术交流丨一站式全自动化运维管家ChengYing入门介绍

袋鼠云数栈

跨平台|融云 React Native IM SDK 全新改版上线

融云 RongCloud

IM sdk

大数据开源项目,一站式全自动化全生命周期运维管家ChengYing(承影)走向何方?

袋鼠云数栈

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