project开发的程序设计与逻辑设计

    非常多时候我们要做庞大project, 就像一棵大树, 方方面面都有自己的细枝末节,而作为开发员的我们,无法时时刻刻去保持对程序的全面认知,所以我们要把程序设计与逻辑设计区分开来。


    那么什么是程序设计和逻辑设计,举个样例来说,统计一群人,程序上能够做到对人群的归类字典统计。也能够做成每一个人有自己的属性之类的,而作为逻辑上,须要知道人的名字。性别。身高之类。事实上这个样例你可能看不太清晰。非常多时候程序和逻辑是混合在一起的。比方我抛一个小球。逻辑上已经设计了重力,环境,以及墙壁,从逻辑上我这个小球会依照一切安排的正确执行。可是这一切基于什么?决定因素都不在小球,重力,环境。以及墙壁的改变都会影响到小球的结果变化。

这个逻辑不如叫间接程序设计。程序上直接对小球进行本身的控制更有把握。

再比方说我要做个仅仅同意小球上抛的动作。 可能上抛有可能碰触到天花板和側墙。而假设我后来取消了限制小球的抛出角度。那么小球有可能被抛向不论什么地方,可能是地面也说不定。这样的时候你肯定不会第一时间就知道这一影响并修正,有可能你还是仅仅是惯性思维的做想上抛的动作。而忽略了向下抛全然可能出问题,后来经过重复測试,你才渐渐地找出问题所在。


    所以敲代码,不能靠逻辑来绑定你的思维。你不能就这么认为“恩。这样没问题了。a,b,c这些影响下就是这个结果",拜托,这不是日常生活,这不须要惯性思维,你该限制小球速度就是须要限制,该给没可能的情况添加条件推断就该去添加推断,这样你的project代码才健壮。逻辑条件仅仅是一个架起虚空的云梯,你摔下去的因素有千万种可能。


    或许你会认为做多重推断以及不是必需的条件添加代码全然不是必需,并且添加执行成本。

但渐渐的这些问题在你的project中后期就会都慢慢浮现出来。


    你仅仅是个码代员,不是主宰项目的存在。真正主宰项目的是经理,客户和终端用户。

所以,给代码健壮的逻辑,给后期稳健的开发速度。


转载于:https://www.cnblogs.com/cxchanpin/p/6748197.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中截取文件名不要后缀

例如:File f new File("d:/d/abc.txt");f.getName()获得的是abc.txt,如果不需要后缀.txt,只要abc可以这样做: String test f.getName().substring(0,f.getName().lastIndexOf("."));转载于:https://www.cnblogs.com/lu…

开发者必读:2022年移动应用趋势洞察白皮书

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 华为开发者联盟与艾瑞咨询联合发布《2022年移动应用趋势洞察白皮书》,本…

JS的注意点

JS的跨域访问问题。 http://www.cnblogs.com/rush/archive/2012/05/15/2502264.html JS能操作的范围:HTTP协议的内容。但是不能直接访问response。 JS不能操作哪些内容。比如HTTP的一些内容。但是能操作cookie。 JS可以直接发送Web Service的SOAP请求。 CAUTION: 不仅仅是JS, A…

NYOJ 1009 So Easy[Ⅰ]【简单题】

/* 题目大意:求三角形的外接圆 解题思路:c/sin(C)2R,先求出cos,在求出sin 关键点:直接调用库 解题人:lingnichong 解题时间:2014-10-18 10:19:33 解题体会:简单题 */ So Easy[Ⅰ] 时间限制&…

Java 阶段面试 知识点合集 - 我们到底能走多远系列(15)

我们到底能走多远系列(15) 扯淡:这些知识点来源是通过面试涉及到的,面的公司不多,知识点涉及也不多,我每次面试后都在备忘录里写下有用的东西,集合起来分享一下,因为是知识点&#x…

对比学习 ——simsiam 代码解析。

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 ​ 目录 1 : 事先准备 。 2 : 代码阅读。 2.1: 数据读取…

wiki常用语法

为什么80%的码农都做不了架构师&#xff1f;>>> 说明 输入 效果 作用在任何地方 斜体字 斜体字 斜体字 粗体字 粗体字 粗体字 粗体加斜体 粗体加斜体 粗体加斜体 下划线 &#xff08;推荐替代斜体&#xff09; <u>下划线</…

java===Runtime类

package 常用类.RunTime;import java.io.IOException;/**Runtime:没有构造方法摘要&#xff0c;说明该类不可以创建对象&#xff0c;又发现* 还有非静态方法&#xff0c;说明该类应该提供静态的放回该类对象的方法。而且只有一个&#xff0c;说明Runtime类使用了单例设计* 模式…

.NET 7 预览版2 中的 ASP.NET Core 更新

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 .NET 7 预览版2 现已推出&#xff0c;其中包括对ASP.NET Core 的许多重大改进。 以…

【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)

注&#xff1a;本文是【ASP.NET Web API系列教程】的一部分&#xff0c;如果您是第一次看本博客文章&#xff0c;请先看前面的内容。 3.3 Calling a Web API From a WPF Application (C#) 3.3 通过WPF应用程序调用Web API(C#) 本文引自&#xff1a;http://www.asp.net/web-api/…

java开发过程中的命名规范

为什么80%的码农都做不了架构师&#xff1f;>>> 最近在读项目的过程中&#xff0c;发现好多同事的代码并不是很规范&#xff0c;有的包名也按照了驼峰的写法&#xff0c;虽说这样不是不行&#xff0c;但个人认为开发过程中应该遵守这些规范&#xff0c;现整理规范如…

git 使用方法自用(勿进)本地开发分支推上线上开发分支

一、//查看状态 1.git status 二、//查看改了哪个文件夹 1.git diff 2.//会出现改了哪个文件夹src/components/partials/Slider.js 三、//查看改了的文件夹里面具体改了啥内容 1.git diff src/components/partials/Slider.js 四、提交所有 1. git add . 五、写备注…

SQLServer 优化SQL语句 in 和not in的替代方案

用IN的SQL性能总是比较低的&#xff0c;从SQL执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别&#xff1a; SQL试图将其转换成多个表的连接&#xff0c;如果转换不成功则先执行IN里面的子查询&#xff0c;再查询外层的表记录&#xff0c;如果转换成功则直接采用多个表的连接…

SVG 和 CSS3 实现一个超酷爱心 Like 按钮

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 在现代网页中&#xff0c;我们经常可以在一些文章、视频和图片页面上找到”Like”按…

redis简单学习3-redis常用命令总结

2019独角兽企业重金招聘Python工程师标准>>> 1.键值相关的命令 keys 返回满足给定pattern的所有key 表达式* 代表取出所有的key redis 127.0.0.1:6379> keys * 1) "myzset2" 2) "myzset3" 3) "mylist" 4) "myset2" 5)…

webpack 使用

首先创建一个静态页面 index.html 和一个 JS 入口文件 entry.js&#xff1a; <!-- index.html --> <html> <head> <meta charset"utf-8"> </head> <body> <script src"bundle.js"></script> </body>…

SpringCloud入门简述

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 1、微服务简述 ​ 微服务&#xff0c;是一个小型的服务&#xff0c;也是一种设计…

微软的创新还是败笔?Windows 8为苹果创造天赐良机

网络安全公司Avast近日公布的数据显示&#xff1a;Windows系统使用人数正在不断下降。这一结果对微软来说可谓噩梦&#xff0c;于此同时&#xff0c;苹果则不断加强市场占有率。又是什么导致了这样的结果&#xff1f;接下来就看看最主要的几点&#xff1a; 调查覆盖了13.5万Wi…

VMware ubuntu 上网

直接使用桥接模式吧&#xff0c;将虚拟机直接连接到外部网络。同样在Ubuntu里面设置网络ip&#xff0c;见上一篇文章转载于:https://blog.51cto.com/vincent1992/1591102

【转】做好性能测试的6个关注点

一、性能测试提前准备关注点 1、性能测试的环境配置需要能够尽可能的模拟版本的现场使用&#xff0c;包括外网的设备&#xff0c;软件网元&#xff0c;各种硬件平台&#xff0c;操作系统&#xff0c;软件平台&#xff1b; 2、性能测试需要准备合适的模拟脚本来尽可能全真的模拟…