课程学习心得

本文探讨了编程思路的重要性,强调了在面对模糊功能需求时如何通过明确功能需求、与产品经理沟通或参考类似项目来理清思路。作者提供了在缺乏经验和技术的情况下开发购物车功能的步骤,鼓励新手程序员迈出写作代码的第一步。
摘要由CSDN通过智能技术生成

如果大家在平常的开发之中,遇到过在面对一个功能需求的时候,不知道从何入手,从何开始的情况的话,那么本篇文章可能会对你有所帮助。

编程思路是一个挺大的概念,如果想要完全掌握它,那么需要我们长期的积累,来把思路分析的方式变成一种本能。这是一个长期积累的过程,没有办法一撮而就。

而对于我们本篇文章来说,我们期望能够做到的是:通过本篇文章中的思路模式,来帮助大家逐步培养自己的编程思路,直到把它变成真正自己的东西。

什么是编程思路

在文章开始之前,对于什么是编程思路,我觉得还是需要进行一下介绍,以便大家都可以达成一个统一的认知。

那么什么是编程思路呢?我认为编程思路其实表示的是两个概念,也就是 编程 和 思路 。

所以说,如果要解释什么是编程思路,那么我们就需要从这两个概念上去说。

什么是编程

首先我们来看什么是编程。对于我们这些开发人员来说,我们的工作就是编程,也就是说我们每天工作的过程就是编程。

那么我们编程的目的是什么?或者说我们通过编程想要达到的结果是什么?

有些同学可能会说,我们编程就是想要赚钱,或者我们编程就是需要完成一个程序。这些都没错,但是却并不全面。我们编程的最终目的其实就是:为了解决某个社会现有的问题。

我们通过编程,制作出一个程序,希望可以解决某个社会中现有的问题。这就是我们编程的一个最终目的。

我们给编程一个定义,那就是:

为解决某个问题而使用某种程序设计语言编写程序代码。

什么是思路

了解了什么是编程之后,我们来看什么是思路。

我们知道编程其实就是:为解决某个问题而使用某种程序设计语言编写程序代码。 那么对于程序来说,他就是由一个一个的功能点来组成的,我们去实现每一个功能点的时候,对于这个功能点,我们去实现的一个思路,那么就是编程的思路。

那么把这两个概念组合到一起,我们来定义一下什么是编程思路。所谓编程思路就是:

为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程就是我们的编程思路。

对于编程来说,是否有固定的思路模式?

PS:本事例以 Vue + Vue 全家桶为技术背景。

对于大多数没有豪华学历背景的人而言,在刚刚踏入这个行业的时候(title:软件开发助理、初级软件开发工程师),面对的可能都是各种小厂,以及不专业的功能需求文档。那么当软助遭遇天坑需求,我们应该如何尽量避免悲剧呢?

明确了编程思路的概念之后,那么对于编程来说,是否有一个固定的思路模式呢?也就是说,是否有一种固定的模式,我们按照这种模式来做,那么它就可以帮助我们来把我们的思路捋顺呢?我们先来看一个事例。

假如说,公司想要开发一个商城的系统,而对于这个商城的系统来说,它存在一个购物车的功能,这个购物车的功能就是我们需要开发的功能。

而对于这个购物车的功能来说,我们现在只知道我们需要开发一个购物车,而对于该购物车它应该具备什么样的业务逻辑,我们一无所知。

面对这样一个需求,对我们来说,确实糟透了。

那么面对这么一个工作,我们应该怎么去做呢?大家设身处地的想一下,如果大家在工作中,遇到了这么一个任务,我们应该如何去做?

明确功能需求

首先对于任何一个功能来说,如果我们想要去实现它,那么我们必须要做的一点就是,我们必须要明确他的功能需求。

对于该购物车功能也一样,因为目前我们所知有限,如果我们想要把这个功能去实现,那么我们就必须要明确这个功能的详细需求。

而如果想要了解他的详细需求,那么最好的一个方式就是:直接去找功能对应的产品经理去确认需求。这是最简单,最方便也是最靠谱的一种需求确认方式,通过与产品经理的沟通,我们可以准确,快速的确认功能具体需求。而如果因为各种各样的原因,产品经理无法为我们提供准确的功能需求的话,那么我们怎么办呢?

那么在这个时候,我们所能够做的,就是:结合项目的整体目的,通过市面上广为人知的类似项目的类似功能,来推断该功能的具体需求。 以商城系统的购物车为例,目前市面上有很多类似的项目,广为人知的项目也有很多,比如:淘宝、京东、拼多多等等。并且这些项目也都存在购物车的功能,通过了解这些项目的购物车功能,那么我们可以大致的推断出我们所需要开发的功能应该具备哪些能力。

如果市面上也不存在类似项目的话,那么我们唯一能做的就只能是凭借自己的理解和与同事的沟通来确定功能需求了。这样做也是最被逼无奈的一种方式。

开始功能开发

调研之后的购物车需求:

1. 购物车以列表的形式展示已加入的商品,每个 item 中展示商品名称、价格、购买数量,标记选中状态的 check 按钮。

2. 购物车底部展示处于选中状态下的商品总金额(商品价格*购买数量),未选中的不参与统计。

3. 在商品详情中点击加入购物车按钮,商品加入购物车,同时页面跳转至购物车页面。

4. 加入购物车时,如购物车中不存在本商品则购买数量为 1 。如已存在本商品,则在原数量上 +1 ,不展示新得商品 item 。

5. 当商品 check 状态发生变化的时候,则统计总金额数据,应实时变化。

在明确了功能需求之后,接下来我们需要做的就是对功能进行开发。在进行功能开发的时候,最大的变数就是工程师本身对于技术的掌握能力了,一个高软和一个软助因为本身对技术的掌握能力不同,那么他们在同时进行软件开发的时候,所走的路,所趟的坑也都完全不同。

那么假如我们刚刚踏入软件行业,仅掌握基础的技术能力,对所使用框架仅了解基础用法,对核心API也没有完全掌握,并且没有成型项目的开发经验的话,那么在面对这么一个购物车功能和自调研需求的“杯具”情况下,我们应该如何去着手开发呢?

对于这么一种情况,那么我们很有可能就会处于一种不知如何下手的状态,如果我们真的面对这么一种状态的话,那么我们所需要做的第一件事就是尽快突破这种状态,也就是 “写下第一行代码” 。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值