龙空技术网

解锁软件开发的成功:每个程序员都应该知道的原则

启辰8 75

前言:

当前看官们对“开发app之前要先想好什么”大体比较看重,大家都需要了解一些“开发app之前要先想好什么”的相关知识。那么小编也在网摘上网罗了一些有关“开发app之前要先想好什么””的相关资讯,希望小伙伴们能喜欢,朋友们一起来学习一下吧!

那么,你什么时候知道自己是一名优秀的程序员呢?是在完成一堆课程之后还是在拥有计算机科学学位之后?我的书里没有。根据我在该领域的多年经验,成为一名优秀的程序员远不止于此。

人们总是想知道,“我应该选择哪种编程语言?” 或者“Python 比 NodeJs 更好吗?”。自从我开始编码以来,我一直听到这些争论。有些人对 PHP 深信不疑,而另一些人则警告我注意安全问题并提倡使用 C# 等语言。根据我的经验,事情没那么简单。就像任何工具一样,每种编程语言都有其优点和缺点。什么最有效实际上取决于您想要做什么。

在本文中,我将分享如何成为最好的程序员的核心原则。每个人都有自己的旅程,但有些步骤是你不能错过的。

深入编码:回顾 1993 年

早在 1993 年,我就开始涉足代码。没有花哨的课程,没有正式的培训——只有我和我想解决的问题。在学习中,我每天、每周、每年一点一点地提高我的技能。回想起来,我别无选择。

原因如下:解决现实世界的问题让我扎根,专注于真正重要的事情。当然,我们没有开发人员现在拥有的华丽工具和无尽的选择。但也许那是一种祝福。没有这些干扰,我全身心投入,做一些有意义的事情。

那时,如果有人需要解决方案,我会立即提供。无需像当今许多公司那样等待讨论、确定优先级并进入冲刺。这让我想知道——事情是否变得更复杂了,但不一定更好?当时我们并没有称之为“敏捷”,但我们的工作方式感觉迅速且反应灵敏。没有迂回的过程,只有直接的对话和快速的结果。

不要误会我的意思,我并没有陷入过去或说“那些日子”。这并不是要回忆或批评现代开发过程。相反,它反映了我的编码之旅的简单、有效的根源。

核心原则#1:投入并持续编码

回顾我过去的经历,最重要的教训非常简单:代码,代码,代码!这听起来可能是陈词滥调,但这是绝对的事实。

你知道,这就像我看待体育运动的方式一样。您可能会花几个小时观看足球比赛、辩论比赛或讨论策略。但无论观看多少或谈论多少,都无法与自己玩游戏所带来的成长相提并论。错误?当然,你会赚很多。但只有通过这些错误和不断的练习,真正的学习才会发生。

同样,不要等待“完美”的项目或时刻才开始编码。投入其中。解决问题。每当灵感袭来时就编写代码。当然,并不是你制作的所有东西从一开始就都是杰作——哎呀,我的肯定不是——但随着你写下的每一行,你都会更接近你的目标。持续的实践练习可以提高你的技能,这比仅仅阅读或讨论它的作用要大得多。

核心原则#2:通过模式掌握代码结构

一旦掌握了定期编码的窍门,下一步就是真正理解代码结构。这就像盖房子一样——一旦你把基本的砖块和砂浆都整理好,真正的工艺就在于你如何把它们组合在一起。

每个人都可以而且应该主动地自己去理解这一点。有无数的博客文章、书籍和资源讨论这个问题。但让我根据经验告诉您,理解编码的核心模式超越您正在使用的任何特定语言。

记住这些基本模式;他们一直是我的指路明星:

关注点分离:将此视为将事物放在它们所属的位置。正如您不会将袜子存放在冰箱中一样,代码的每个部分都应该有其特定的位置。KISS(保持简单,愚蠢):不要让它太复杂。通常最简单的解决方案是最有效的。这是让我脚踏实地的口头禅。坚实的原则:这些就像建筑物的支柱 - 它们确保您的代码可扩展且易于维护。领域逻辑模式:如领域模型和事务脚本。理解这些类似于理解编码语法。行为设计模式:尤其是策略设计模式。这有助于确保您的代码具有通用性并且可以适应不同的情况。DRY(不要重复自己):如果我学到了一件事,那就是冗余是程序员最大的敌人。

最后,让自己沉浸在领域驱动设计 (DDD)方法中。这与技术细节无关,而是与理解更大的图景有关。它重点关注软件片段如何组合在一起以及如何与业务需求保持一致。不再将 DDD 视为严格的规则手册,而更多地视为一种哲学。这一切都是为了确保每个参与人员都对软件是什么以及它要实现的目标有共同的理解。

必读

你知道,你不必孤军奋战。有一些才华横溢的人用笔写下了文章,帮助像我们这样的人理解复杂的编码世界。这里有五本书对我有很大帮助,我敢打赌它们也会对你有帮助:

《干净的代码:敏捷软件工艺手册》作者:Robert C. Martin

这是一本经典著作,强调编写干净、可维护的代码的重要性。“设计模式:可重用面向对象软件的元素” 作者:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides

这本“四人帮”书籍以任何人都能理解的方式分解了设计模式。如果您热衷于面向对象的东西,那么这本书是必读的。Martin Fowler 的《企业应用程序架构模式》 Fowler 对设计模式的看法脚踏实地且实用。如果您曾经为某些编码问题摸不着头脑,这本书可能就能找到答案。“领域驱动设计:解决软件核心的复杂性”作者:Eric Evans

对于任何想要掌握 DDD 的人来说,这是一本典型的指南。埃文斯在分解复杂概念方面做得很好。它很厚,但每一页都值得。我最喜欢的之一。“重构:改进现有代码的设计”,作者:Martin Fowler

这本书的目的是让您的代码变得更好,同时又不打乱其应有的功能。福勒是个天才,就这么简单。

多年来,这些书一直是我的伴侣。读一读!

原则#3:这不仅仅是选择一个工具

不要太执着于一种编程语言或技术。相信我,您随时可以从书籍或网站上获取语法和细节。任何时候!但是,如果您开始编码并且只坚持使用一种语言,您可能会错过软件开发真正的更广泛的本质。至关重要的是:

保持开放的心态尝试不同的事情始终专注于主要目标:解决手头的问题。

多年来,我注意到一些事情:掌握的模式和思维方式越多,在语言之间切换就越容易。以C#和Java为例,它们非常相似。或者具有 C# 或 Java 背景的 TypeScript 编程是多么容易。

正是这种宏观思维、这种缩小视野,将伟大的软件工程与仅仅编写代码行区分开来。

认识到这一点:选择编程语言就像从工具箱中挑选合适的扳手。当你明白这一点时,你就真正看到了这门手艺的全部范围。如果你能很好地掌握我所说的这些模式,你就会在游戏中处于领先地位——发现解决方案中的问题,或者更好的是,完全避开它们。

我以前说过,而且我会一直这样说:关注点分离至关重要。我在代码中看到它被忽视的次数多得我数不清。还有“我时间不够”的借口?这不适合我。因为一旦这些原则成为你的第二天性,你就会毫不犹豫地应用它们。绕过他们?从长远来看,这才是真正减慢你速度的原因。

原则#4:保持简单明了

简单是高效编码的灵魂。当您忙于编写代码时,如果您注意到依赖项列表不断增长,请暂停一下。如果您害怕进行小调整或添加功能,因为感觉就像打开潘多拉魔盒,那么是时候反思了。您使用的模式正确吗?如果管理一大块代码感觉就像与章鱼搏斗,那么可能是时候质疑你的方法了。

我曾经经历过这种情况,深入研究代码,突然发现自己导入了堆积如山的库,只是为了完成一件事。这是一个危险信号。当事情变得过于混乱时,请记住退后一步并进行重构。编码不仅仅是寻找解决方案,而是打造一个优雅的解决方案。

避免走捷径的诱惑。当然,它们现在可能会为您节省几分钟的时间,但之后可能会导致您头痛几个小时,尤其是对于下一个查看您工作的人来说。让你的代码成为一个清晰的故事,而不是一个谜题。因为归根结底,清晰性和可读性才是真正优秀代码的标志。

总结一下

好吧,我们来总结一下。成为一名优秀的程序员不仅仅需要了解最奇特的编程语言或使用最新的工具。关键是要投入时间、让事情变得简单,并始终以学习为目标。坚持基础知识,尽可能多地练习,并且不要害怕走出自己的舒适区。

请记住,每一位伟大的程序员都曾经是初学者。继续编码,继续学习,你就会找到自己的伟大之路。

为您的编码之旅干杯

标签: #开发app之前要先想好什么