(40)每个新手程序员都会犯的5个错误

原文:5 mistakes of every beginner programmer 
作者:Lukas Vavrek 
译者:Teixeira10

在开始学习编程的过程中,你可能会被每天遇到的问题所困扰,所以在这条路上你会感觉很迷茫。想要克服这些问题,那从一开始就避免一些错误是很重要的。

这里有一些你可能觉得有用的建议,可以帮助你顺利地开始你的编程生涯。

1.不使用版本控制系统

一旦你开始对代码有点熟悉的时候,学习如何使用VCS就应该成为你的首要任务。

当你不知道如何正确地写代码的时候,你可能会感觉很疲惫。但当你能感到写代码变得很舒适的时候,你就会欣赏这种技能。

这个系统有很多的高级功能,这对我们来说很重要。但一开始,我会专注于setting up repository以及committing,这有助于你跟踪开发的进度。然后,学习fetching / pullingpushing的概念也是很重要的,这样你就可以拥有一个在线备份存储库。

当你编程能力提高的时候,你就会发现你可以自主学习VCS和其他技术了!

2.不去阅读比你优秀的程序员的代码

我相信这是学习的一个重要部分。你可能会觉得有点奇怪,为什么还要花时间去读别人的代码,但这真的会对你的进步产生很大的积极影响。

在一个较大的开源社区里,你会有机会向优秀的程序员学习。在这里,你可以找到一些使用你熟悉的代码编写的项目,并对它们进行深入挖掘和理解。当然你不必理解所有的内容,只需要分析其中一小部分代码,我想你会受益匪浅的。

3.快速切换语言或技术

的确,能学到一点东西的感觉会很好,在语言和技术之间切换也是有趣的。但如果你经常这样做,就会适得其反,也会给你造成很大的损失。

相反,我会建议你坚持一种语言,直到你对这种语言的工作原理有了足够的了解。如果你对一项技术有很深入的了解,你就会更容易地切换到其他的技术,因为你可以根据你现在的经验来进行选择。你会知道你想学到什么,你还没学会什么。你会更好地理解这些差异,在改变你所用编程语言或是技术后,你就能学到这些知识。

4.没有完成你的主要项目

这是我一直在纠结的事情。我对软件体系结构有着很大的兴趣,我喜欢尝试不同的模式,框架和方法来学习一些特定需求的最佳编程实践。但通常,在我编写了代码的核心部分以形成一个最小的工作演示后,我倾向于“置之不理”,然后转移到别的项目上。

这不是一个大问题,但我认为你至少应该完成你的项目。它会教你自律,关注细节,同时在需要的时候,你会有东西去展示你自己。

5.不关心代码质量vs过于关心代码质量

我相信在代码质量和代码产出之间应该有一个平衡。开始时,你要努力编写代码,所以很明显,你并不会真正了解和关心代码质量。这是非常好地!

没有质量问题的丑陋代码比有质量问题的漂亮代码更好。

首先,你应该解决问题,然后专注于改进代码,分析你的错误,并试着从中学习到经验。学习如何将你的代码重构为一份更好的代码,这是一项很有价值的技能。因此,一开始可以不关心代码质量,只要你对这个问题有意识,并且愿意在编程结束时进行清理和解决问题(在你学习了新东西之后)。

另一方面,太过于关心代码质量、设计模式和架构也不太好。的确,代码质量是很重要的,你也应该有严格的规范,但是如果你没有找到平衡,就可能会过度框架住你的应用程序。也就是说,你不是在做有价值的工作。

另外—不对代码进行单元测试

单元测试可能会让你觉得在莫名其妙地重复着工作。但是,将测试加入到你的工作流程中,这从很多方面看都是有益的。

通过编写可测试的代码,你会自己考虑依赖项(因为硬耦合依赖性很难测试)。简单地说,可测试代码是更好的代码。你还可以确定你的代码正在执行它应该做的事情,这样你就可以毫无顾虑的对你的代码进行重构。

时间: 2024-12-08 10:47:22

(40)每个新手程序员都会犯的5个错误的相关文章

(转)C# 程序员易犯的 10 个错误

关于C# C#是针对微软公共语言运行库(CLR)的开发语言之一.针对CLR的开发语言得益于如跨语言集成的性能,异常处理,安全性增强,组件交互的简化模型,调试和分析服务.对于今日的CLR来说,C#是定位到Windows桌面,移动设备或服务器环境中,在处理复杂,专业的开发项目方面使用最广泛的开发语言. C#是面相对象,强类型的语言.C#中严格的类型检查,在编译和运行时,使得典型的编程错误能尽早报告,并且能精准给出错误位置.这能帮助程序员节省很多时间,相比于跟踪那些可以发生在违规操作很长时间之后的令人

Java程序员常犯的10个错误

本文总结了Java程序员常犯的10个错误. #1. 把Array转化成ArrayList 把Array转化成ArrayList,程序员经常用以下方法: List<String> list = Arrays.asList(arr); Arrays.asList() 实际上返回一个ArrayList,但是这个ArrayList是Arrays的一个内部私有类,而不是java.util.ArrayList类.这个私有类java.util.Arrays.ArrayList有set(), get(), c

Python 程序员经常犯的 10 个错误

关于PythonPython是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得... 关于Python Python是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得它在快速应用开发中非常有吸引力,并且可作为脚本或胶水语言来连接现有的组件或服务.Python支持模块和包,从而鼓励了程序的模块化和代码重用. 关于这篇文章 Python简单易学的语法可能会使Python开发

Java程序员容易犯的10个错误

1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList类java.util.Arrays.ArrayList 有set(), get(), contains()方法,但并支持添加元素,所以大小是固定的,想要创建一个真正的ArrayList,你应该: ArrayL

作为一名新手程序员该怎么成长?

作为一名开发者,自己既笨又没有准备,被老板知道了,我就要被炒鱿鱼了-作为一名新手程序员在刚刚进入到工作领域的时候,经常会有这种想法,这种想法会打击自己的自信心,特别是涉及到写代码的时候. 下面我要介绍一些关于新手开发人员可以提升自己的职业生涯和前景的关键策略,并且能够在工作期间保持一种健康的心态. 无论是你正在智通人才网找你的第一份工作,还是正盯上了潜在的晋升通道,在一定的程度上都需要跟其他开发者竞争,为了可以从中脱颖而出,下面这些关键的步骤可以帮你迈向成功. 1.找一种你喜欢用到工作中的语言.

十个JAVA程序员容易犯的错误&#187;

十个JAVA程序员容易犯的错误 ▉1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList 类java.util.Arrays.ArrayList 有set(), get(), contains()方法,但并支持添加元素,所以大小是固定的,想要创建一个真正的Arr

CSDN日报20170505 ——《创业时该不该用新手程序员》

[程序人生]创业时该不该用新手程序员 作者:路过秋天 作为一名创业者,如果自己不是技术出身,是不该在一开始就用新人程序员的.就算做为技术出身,由于技术领域广,对于非自己领域能解决的事情,也不要轻易用新人程序员. 点击阅读全文 [Android]音频系统:从 AudioTrack 到 AudioFlinger 作者:沅纭 与 Audio 强相关的有 MultiMedia,MultiMedia 负责音视频的编解码,MultiMedia 将解码后的数据通过 AudioTrack 输出,而 AudioR

新手程序员必备的知识储备有哪些

很多学习了北风网专业课程的朋友,都能如愿到心仪的相关企业任职,首先,北风网向你们表示祝贺,同时关于新手程序员所需要的知识储备情况,特此总结了一篇文章,以供参考: 1.版本控制系统(VCS) VCS 也许是计算机课程最大的疏漏.这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码.每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码,进行分支与合并,了解项目工作流. 2.学会写作 身为程序员要写的不只有代码.你还要写项目的发

新手程序员在工作中需要注意的问题

需要学习的最重要的东西是"自我规范".这些规范就是:尽可能地写出最简洁的代码;如果代码后期会因为改动而变得凌乱不堪就得重构;尽量删除没用的代码,并添加注释. 请谨记这一点,要懂得"自我规范",也不能一旦代码"起效了"就立马置之脑后.如果所有的变量都命名错误,但是代码依然可以完美地运行,那么这些代码绝对乱糟糟得让人不忍直视.将功能代码改进为简洁代码可能在短期内是看不到回报的.这就是为什么你需要"自我规范"这一步骤了.这也是为什么