如何通过8个简单的步骤全新开始一个大数据项目的开发和管理

作者 : IT 大叔 本文共5268个字,预计阅读时间需要14分钟 发布时间: 2020-09-21

编码项目是学习所需编码技能的多种方法之一。有人认为只有经验丰富的程序员才能完成项目。实际上,有许多项目可用于各种技能,包括Web开发,数据分析,游戏设计等等,涵盖各种不同类型。

如果您以前从未完成过项目,他们可能会吓人地开始。精心设计的计划可以减轻许多这种焦虑。今天,我们将仅用8个步骤来学习项目可以为您做些什么,以及如何从头到尾计划下一个编码项目。

这是我们要介绍的内容:

  • 项目可以为您做什么?
  • 1.确定您的项目
  • 2.在线检查类似项目
  • 3.选择您的语言和工具
  • 4.列出所有功能和实体
  • 5.映射项目架构
  • 6.标记实体以进行设置
  • 7.向图添加伪代码
  • 8.制定时间表

项目可以为您做什么?

有这么多种学习编码的方法,为什么选择一个项目?事实是,项目对您的学习和职业都有真正的好处。

项目使您能够:

  • 练习实际的编码:经验教训和练习问题都很棒,但是如果那是您的唯一媒介,那么可能会很无聊。通过项目,您可以摆脱书本工作,并以产品驱动的方式练习编码。另外,从头开始制作东西很有趣!
  • 体验开发生命周期:大多数编码实践课程都测试您编写提示代码的能力。但是,代码创建只是专业程序员开发过程中的一步。项目为您提供了从概念到完成的在职程序员所期望的所有步骤的经验。
  • 建立您的简历:项目是向公司展示您既具有编码技能又具有应用它们的能力的绝佳方法。项目需要所有雇主在新聘人员中寻找的属性:个人奉献,时间管理,故障排除能力,生活经验等等。您可以使用已完成的项目来证明您具备所有这些期望的素质,并在竞争中脱颖而出。

提示:以公司为目标的项目

如果您对特定公司或领域感兴趣,请完成与目标工作直接相关的项目。例如,数据跟踪项目可以更好地帮助您获得数据分析员职位,而不是UI设计职位。

为什么要计划一个项目?

许多渴望学习的人会犯错误,而没有适当的计划就直接进入他们的项目,最终陷入困境或被烧毁。其他人则受项目规模的威胁,不知道如何开始。有经验的开发人员可以通过全面的项目计划来避免这些问题。

通过计划,您可以:

  • 将项目分解为可操作的步骤
  • 一次查看项目的全部范围
  • 请记住哪些组件将交互
  • 避免组件重叠
  • 预期错误
  • 在特定限制范围内扩展

对于任何级别的开发人员而言,项目都是一项困难的测试,尤其是对于那些从事系统设计工作的开发人员而言。如果您制定一个好的计划并坚持下去,从长远来看,您将为自己提供很大的帮助。这是一项职业技能,可以使您的编码技能达到更高水平。

接下来,我们将分解8个基本步骤来计划您的下一个编码项目。

1.确定您的项目

第一步始终是确定要解决的项目。网络上有大量适合不同技能水平的建议。或者,您可以自己弥补!

尝试选择一个与您要学习的多种技能重叠的项目。例如,如果您想变得更有条理,则可以选择创建一个调度应用程序,该应用程序显示每个星期一的一周摘要。或者,您可以建立一个每天生成随机演算问题的站点,以帮助学习数学。重叠的主题将使您的项目令人兴奋,并帮助您同时学习这两种技能。

如果您不能决定某个主题,请考虑一下自己经常遇到的问题。然后,设计一些有助于解决该问题的方法。例如,一个问题可能是您有很多流媒体服务,并希望找到电影的最佳价格。您可以制作一个网络抓取工具,以每个电影的价格扫描每个流媒体服务的站点。然后,程序将以该电影的最便宜价格显示该服务。

对于简历构建器项目,请确保您决定的内容与您感兴趣的角色相关。这些项目对建立您的专业能力大有帮助!

在此阶段,不必担心您将如何完成项目或将使用什么工具。现在,只需将其保持在“假设”阶段即可。

选择一些有趣的东西

您将在该项目中投入大量时间,确保选择能够激发您并使自己感到高兴的东西。如果您有代表自己独特性的想法,不要害怕跳过常见的项目主题!

2.在线检查类似项目

一旦有了想法,就可以在网上搜索从事过类似项目的其他人。许多开发人员将其项目在线发布以征询反馈并激发他人的灵感。尤其是在开源社区中,似乎有无数项目可供您浏览。

创建一个列表,其中包含指向您找到的每个类似项目的链接。

当您浏览类似项目时,请查看他们遇到了什么问题以及如何克服了这些问题。您可以使用此信息来预测您自己的项目中的问题。您也可以使用他们的解决方案作为起点,或者在遇到困难时返回这些项目。使用这些资源不要感到难过,因为在进行工作编程时,您会期望借鉴同行的工作。

导师

找到有人完成了与您相似的项目?尝试与他们联系成为您的导师!

指导在在线开发人员社区中很常见。他们可以为您提供广泛的反馈,帮助您找到自己的解决方案,为您提供有关工具或技术的提示,并帮助您对截止日期负责。导师也是与行业专业人士建立联系的好方法。没有比认识一个人更快地开门了!

另外,将任何有项目反馈的站点或论坛添加到列表中。

您可以在每个步骤之后发布项目,并查看同行的建议以改善您的工作。在线社区渴望帮助像您这样的学习者!获得第二意见以找到您可以做得更好的地方并不丢人。毕竟,一旦成为专业开发人员,您将不断收到反馈。

学会接受批评

在线论坛是习惯批评的好方法。无论是来自其他员工还是客户,一旦开始专业工作,您的工作将始终获得反馈。尝试将个人价值与代码区分开来,并在将负面情绪读入反馈时加以注意。

3.选择您的语言和工具

第三步是确定用于创建项目的语言和工具。

如果要学习特定的语言,请选择该语言。如果您不确定语言,请考虑哪种类型的语言对项目最有利。有些语言比其他语言更适合某些任务。

以下是常见项目类型的列表以及最适合的语言:

  • Web应用程序: JavaScript,PHP,Ruby,HTML / CSS,TypeScript
  • 移动应用程序: Swift,Java,JavaScript,Object-C
  • 企业应用程序: Java,C#,C ++,ErLang
  • 分析与机器学习 Python,R,Clojure,Julia
  • 数据可视化: Python,R,Java,C#
  • 大数据: Java,Python,R,Scala和Clojure
  • 数据存储: SQL,C#,Java,Python

您还必须决定使用文本编辑器来编写代码。我建议您寻找一种具有语法突出显示,文件夹管理系统,查找和替换功能,自动完成工具以及FTP集成的功能。一旦学会了有效使用这些附加功能,它们将为您节省大量时间。您再也不会回到基础编辑器了!

以下是最佳文本编辑器的列表:

  • Sublime Text: Sublime Text具有我们想要的所有工具,看起来很棒。对于初学者来说这很简单,但在大师掌握的情况下也有潜力做大事。Sublime在Linux,Mac和Windows上可用。唯一的缺点是您必须购买许可证才能使用它。
  • Notepad ++: Notepad ++是Windows的开源文本编辑器。对于初学者来说也很容易上手,但是可以在有经验的用户手中进行优化。它具有我们需要的所有功能,并且完全免费!不幸的是,它仅适用于Windows。另外,虽然有些人喜欢Notepad ++的简单外观,但其他人则喜欢更具可定制性和吸引力的工作区。
  • Vim:自1990年代推出以来,Vim以其无与伦比的定制而广受欢迎。您可以在其基于键盘的系统中编辑任何快捷方式,以为您的特定项目创建完美的控件设置。Vim的轻巧结构使其成为可用的最快的文本编辑器之一。不利的一面是,Vim因使用众多内置快捷键而陡峭的学习曲线而臭名昭著。

使用你所知道的

如果您已经拥有想要的一种新语言或文本编辑器,请不要感到被迫采用。不熟悉可以轻易抵消使用最佳工具所产生的生产力。除非您与准雇主使用的工具相匹配,否则您会熟悉自己所熟悉的东西。

一些项目可能还需要软件框架。这些框架在编程语言之上工作,以简化特定任务的开发。

这是在不同编程领域中使用的流行框架的列表:

Web开发:

移动开发

  • Flutter(C和C ++)
  • React Native(JS)
  • Xamarin(任何)

数据科学:

  • Apache Spark(Java,Python,Scala,SQL)
  • Pytorch(Python,C ++)

工作场所的框架

框架在整个行业的开发团队中很常见。项目是向雇主展示您对所选框架知识的好方法。在所需工作的说明中查找所需的框架,然后选择一个项目

4.列出所有功能和实体

接下来,您将要敲定绘图板并列出程序将具有的所有功能。这些将是项目的下线步骤。现在,列出所有可以改善您的项目的基本和附加功能。例如,假设您要创建一个包含帐户的网页。一种功能是登录,另一种功能是设置/更改密码,并且不必要的奖励是添加个人资料图片功能。

拥有完整的功能列表后,请将其分为基本功能和非必要功能,以帮助确定优先级。一旦实现了所有基本功能,我们将拥有一个可以添加到的程序框架。

现在,列出将参与您的程序的所有实体。做到这一点的一种好方法是查看您的功能,并询问必须进行哪些实体交互才能使其实现。如果对每个功能重复此操作,则将找到程序中涉及的所有实体。例如,如果创建一个网页,将有两个实体:用户和网络服务器。

5.映射项目架构

现在,我们将制作最终项目的流程图。我建议您使用便签或数字方式进行此操作,以便您可以随意移动片段。将每个功能放入一个盒子中,然后张贴在同一块板上。

然后遍历每个功能,并用一条线将其连接到相关功能。这些可以是串联使用的功能,也可以是程序中不同时间出现的功能。换句话说,用户将如何浏览您的不同程序功能?

确保在程序中标记分支路径的任何点。这些将成为您程序中的决策点。另外,在功能框中写下每个功能涉及哪些实体。此流程图将充当程序体系结构的蓝图。

有了流程图后,请在不同的彩色框中写下用户可能执行的不同类型的输入或操作。跟踪程序中的每个输入,并查看其在程序执行过程中接触的点。写下每种输入类型所涉及的功能。如果找到不受支持的输入,请创建处理该输入所需的功能并将其连接到图表的其余部分。

这是程序流程图的示例:

程序流程图

在这里,我们添加了该功能以查看其他个人资料,并将其添加为朋友或阻止他们。这是一个决定点。我们还添加了一个功能,可将我们自己的个人资料作为用户的中心返回点。

如果在计划体系结构时想到了新功能,不要害怕添加新功能。

6.标记实体以进行设置

接下来,浏览特征和实体列表。确定您需要使用其他工具设置哪些实体。写下必须设置的实体以及所需的工具。您以后随时可以更改此媒体。现在,只需将第一个适用的工具作为默认计划想到即可。

例如,一个网站项目将一个站点服务器作为一个实体。您必须先在程序外部设置此服务器,然后才能使用它。您决定使用虚拟服务器来简化操作。通过快速的网络搜索,您决定让Apache允许您这样做。您在Web服务器实体上写下Apache,并将“访问虚拟服务器”标记为一项基本功能。

7.向图添加伪代码

现在,我们将考虑如何在UML流程图上实现每个功能。考虑每个功能,并编写您认为需要的一般类型的编程结构。然后写下如何连接连接线上的每个功能。记住要考虑将要处理的不同输入以及将要连接的功能。

例如,我们可以使用对象来表示每个用户,使用函数来设置新用户,以及使用哈希表对用户进行排序。

不必担心当前阶段的最佳选择,只需从您的编程本能中得出即可。伪代码可帮助您考虑如何在没有语法限制的情况下设置程序解决方案。以后开始对功能进行编码时,您始终可以更改这些决策。

不要卡在研究中

当您不知道如何向功能中添加伪代码时,请限制可以研究查找编程结构的时间。快速研究可以帮助您重新了解特定结构的工作方式。但是,在寻找新语法的步骤中很容易被忽略。只需将第一个本能放在页面上,并在实现该功能后就担心语法的优化。

8.制定时间表

最后一步是设置完成每个功能的期限。首先设置最基本的功能,然后再设置与其连接的功能,依此类推。最终,您将拥有所有必不可少功能的时间表。如果您有任何非必要功能,请将它们包含在最终必要功能之后的时间表中。否则,您可以在实现所有基本功能并为非必需功能创建新时间表之后简单地返回此步骤。

确保根据每个功能的复杂性,这些截止日期是合理的,但不要过于慷慨地估计时间。为每个零件定下不同的日期很重要,这样您就可以保持进度并在可管理的时期内划分工作。

将它们放在日历中并设置提醒以增强个人责任感。此外,每周还应安排定期的指定项目工作时间。如果您将其作为日常工作,将会发现更容易取得进步。

时间表还可以确保您知道接下来要使用的功能。这种确定性使您可以避免在工作期间做出决定。如果您有时间从事该项目,则只需检查进度表并继续进行下一部分。无需考虑!

问责制:告诉朋友

如果您担心自己的日程安排,请告诉朋友,同事或同事您的完成目标。如果其他人知道他们是否错过了最后期限,许多人会发现更容易遵守最后期限。一些开发人员甚至在线直播他们的项目工作,以确保自己对截止日期负责。

今天,我们了解了编码项目可以为您做什么以及如何通过8个步骤计划项目。希望这些技巧可以使您更好地应对下一个编码项目。如果您一路走投无路,就不要放弃,即使是最好的开发人员也会遇到这种情况。请记住,这里有一个繁荣的在线社区,可以帮助您更好地进行练习。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 如何通过8个简单的步骤全新开始一个大数据项目的开发和管理

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论