程序应构思到什么地步再开始写?

2023-10-07 02:58
文章标签 程序 地步 构思

本文主要是介绍程序应构思到什么地步再开始写?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要写出结构清晰、逻辑严谨的程序,务必要在写程序前认真分析问题,理清程序的脉络,把握主要的逻辑线索。一旦抓住了主要的逻辑线索,便可将程序分成几块,提前预料其中的难点和问题。找到线索不是件容易的事,它建立在对所解问题的认真分析和研究的基础上。

像我这样的菜鸟在写程序时,总是急于求成,逮到问题便开始噼里啪啦的敲键盘了。结果常常是忙活了半天又重新回到起点,一个细节没有考虑清楚,等发现时前面写的都得推倒重来。或者运气好点,程序东拼西凑地写完后,也能跑,但因为逻辑不严谨一堆bug,再东补补西补补把程序勉强支起来。这样的程序不要说用户,自己都没有信心。

其实上面的道理,自己一直都明白,每次下手写程序前也不停提醒自己“要分析要分析”,但盯着问题“分析”一会儿,就不知道“分析”到哪儿去了。算了,还是先动手写写吧,光想好像很难分析出什么结果来。于是一动手便停不下来了,直到把程序勉勉强强支起来。很长一段时间,自己好像都很难走出这个怪圈。即使简单一些的程序能够写得很漂亮,稍微复杂一点的就很难保证结构清晰、逻辑严谨。

那该怎么办呢?我觉得下面几条原则应该遵循:

  • 动手之前脑子里应该有清晰的逻辑线索,程序逻辑能够在脑子里执行得通。
  • 顺着逻辑线索,把能想到的难点和问题列出来,并找到解决方案。如果有行不通的地方,回到上一步论证程序逻辑是否存在问题。
  • 如果前两步顺利完成,就可以开始动手写程序了。这其中必然会发现很多细节问题,如果遇到和设计的程序逻辑有冲突的地方,应立即停下,回到前两步进行论证。

这里面贯穿始终的一条原则就是“想好再做”。如果实在“想不好”,那就“做一点”,出了问题再“好好想”。在实践中,“做一点”的度很难把握,常常是开了闸就一泻千里。怎么判断这个度呢?我觉得说到底是你对程序的掌控感,要保持程序始终在你的控制之下。比如如果一个函数超过了50行,就是一个危险的信号。

对于一个习惯对着代码思考的人来说,这样的分析刚开始也许会很难受,但它的确能大大减少我们对着代码发呆的时间。所以如果还不习惯,就慢慢习惯吧。

这篇关于程序应构思到什么地步再开始写?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155599

相关文章

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的