大家好,今天小编关注到一个比较有意思的话题,就是关于学习软件先学编程吗的问题,于是小编就整理了1个相关介绍学习软件先学编程吗的解答,让我们一起看看吧。
为什么软件工程特别强调必须先有设计,然后才能编程?
事先亮明身份,我是一个工作了五年的程序员。那么回过头来,我觉得我应该有资格分析一下这个问题。
为什么要设计先行?
第一,如果没有设计,程序员没有任何事情是可做的。如果有人跟你说,还能搭个框架。我只能说,他们公司十有八九是外包或者是一套架构走天下的那种。实际上,按照正确的流程,程序员或者架构师需要根据需求进行框架规划。在需求出来之前,什么工作都没法开展。
为什么提到需求呢,需求又跟设计有什么关系?需求是设计的基础,设计是需求的表面特征。一个完整的项目流程,在客户提出需求之前,UI需要根据客户需求确认项目UI,产品经理需要整理需求,分析客户的隐藏需求(这一点很重要,因为大多数客户都没法准确描述自己想要什么),据此出具需求分析或者需求说明书。架构师根据需求说明书,设计(注意)系统架构。然后项目负责人根据需求说明以及架构师设计的架构,规划项目模块划分,然后交由下面的程序员开发。程序员接到领导下发的任务说明,需要以此编写自己负责模块的实现逻辑(也就是设计开发步骤),最后才是开发。
第二,先有设计能有效的防止你后续跟产品经理以及客户二(不定多少)次修改需求引发的***甚至斗殴。
正如前面说的,大部分客户不知道自己想要啥,甚至产品经理都不知道自己想要啥。所以一个完备的设计图或者正规的文档都是跟他们***过程中最重要的证据。
第三,先有设计再实现,更利于实现的提速。因为设计本身就是在思考这个功能该如何完成的过程。这对于程序员来说很重要。
当然,在我看来最大的作用是为了以后***的时候,有他们瞎闹的证据。
所以,设计对于程序员来说很重要。
首先说明编程只是一种工具而已,是实现功能模块的一种手段。但是,你如果头脑不清晰就去写代码,不但代码可读性差,而且也容易产生许多bug,进而返回重写,这产生的时间成本可想而知。
学过软件工程这门课的同学都知道,在编写代码前需要进行可行性分析、概要设计和详细设计,这里不到需要与对接人员了解需求,还需要设计各种数据结构与数据库,这样才能对任务有一个整体的了解。之后还需要进行代码接口的编写与函数的优化,这些都需要提前考虑好,哪些操作可能会提高性能与降低时间复杂度。如果您做到事前分析,那么就会减少许多出错的可能。
最后,当我们养成了事前分析问题的习惯时,那么不管是对于编写代码还是生活,都将受益匪浅。
如果您有疑问,可下方留言,让我们共同进步。
前期设计得不好,对以后的编程来说,绝对是个噩梦。
好的设计,是有高扩展性、伸缩性的,可以应对千变万化的需求,不至于需求改了,或增加需求,而造成代码大改。
全行业需要而非软件工程
首先,需要纠正一点是,不是仅仅软件工程需要先有设计,然后才能编程。所有的行业都需要先进行设计,才能够去真正落地实施(当然,各行各业的用词可能会有些差别,像拍电影通常称之为:筹划)。
从头几年开始,有一个比较流行的词汇进入了大众的视野之中:“商业计划书”。要知道这个词早在几十年前就有了,但是一直也没有将这个概念推广开来,它一直停留在大中型企业之间的商业行为当中。直到有一天,“大众创业,万众创新”的时代在党的号召下来临了!
“商业***书”就很好的体现了“先设计,在实施”的思路。商业***书中包含很多内容(如:市场痛点、竞争分析、运营支持、公司概况、财务预测、融资***、财务报表等等一些内容),这些内容核心就是在介绍两方面:
一、我们有什么***、数据体现有哪些;
二、我们要完成的事情有什么前景、如何实现这个事情。
第二点通常占比70%,且是还没有实现的东西,需要预先的规划出来,把所有需要的准备工作用比较简洁的方式描述出来。从某种角度来说,它也是一种蓝图。未来所有工作都是围绕这个蓝图,不断的延伸、展开的。
没设计能不能干?
那么问题来了,既然有了设计之后,后面可以把它作为中心来进行展开。如果没有设计,可以直接编程么?
到此,以上就是小编对于学习软件先学编程吗的问题就介绍到这了,希望介绍关于学习软件先学编程吗的1点解答对大家有用。