既然你已经学会了一些程序的基本知识,让我们更仔细地看看如何设计一个程序。当你坐下来写一个程序时,通常你会遇到一些你想解决的问题,或者你想模拟的情况。新的程序员常常很难理解如何将这个想法转换成实际的代码。但事实证明,你从日常生活中获得了很多你需要的解决问题的技能。

记住最重要的事情(最难做的事情)是在开始编程之前设计你的程序。在许多方面,编程就像建筑。如果你不按照建筑计划建造房子,会发生什么?奇怪的是,除非你很有天赋,你最终会有房子,有很多问题:墙不直,漏水的屋顶,等等。同样的,如果你试图计划之前,你有一个好的计划前进,你会发现你的代码有很多问题,你将不得不花费大量的时间固定,可以完全避免和前面的一点思考过的问题。

一个小小的预先计划会从长远的角度为你节省时间和挫败感。

步骤1:定义问题

你需要弄清楚的第一件事是你的程序试图解决什么问题。理想情况下,你应该能用一两句话来陈述这一点。把这些表达成一个结果也是很有用的(你希望达到什么样的结果?)例如:

1
2
3
4
5
6
7
#include <iostream>; // preprocessor statements can't have a semicolon on the endint main()
{std:cout < "Hi there; << x; // invalid operator (:), unterminated string (missing "), and undeclared variablereturn 0 // missing semicolon at end of statement
}

虽然这一步看起来很明显,但也非常重要。你所能做的最糟糕的事情就是写一个程序,它实际上并不像你(或者你的老板)想要的那样!

步骤2:收集需求

定义你的问题有助于确定你想要什么结果,但它仍然是模糊的。下一步是考虑需求。

需求对于您的解决方案需要遵守的约束(例如预算、时间、空间、内存等)都是一个花哨的词,以及程序必须具备的能力,以满足用户的需求。请注意,您的需求应该类似于“什么”,而不是“如何”。

例如:

#include <iostream>int main()
{int a = 10;int b = 0;std::cout << a << " / " << b << " = " << a / b; // division by 0 is undefinedreturn 0;
}

为你节省时间和挫败感相关推荐

  1. 十个小贴士!帮你节省编程时间、减少挫败感

    全文共3373字,预计学习时长10分钟 来源:Pexels 在坚持学习之前,笔者至少四次开始立下决心好好学习编程课程,然而都无疾而终. 为此,笔者对数据科学专业学生做了相应调查,发现像笔者这样情况的并 ...

  2. 英语学习感悟,培养自信心,远离挫败感,人生更精彩

    英语学习中有很多地方值得我们去注意,一门学科的学习并非简单,想学好更是如此.一开始接触英语,相信很多人都是从字母和发音开始,慢慢的去接触一些简单的词汇,逐渐学习更高难度的内容. 学习需要有一个好的开始 ...

  3. 挫败感的来源自哪里?

    哎,说来奇怪,自己竟然会喜欢上看主播.  大概有接近半个月的时间每晚去看一个主播,但是实际上是最近才发现好像是真的喜欢她. 虽然她与自己不可能有什么交集! 当然,这都不是重点! 重点是我被她房管封了! ...

  4. 最近有股强烈的挫败感

    听说叨咕叨咕贝,想到什么说什么,没啥逻辑性.先从我那场伤病开始吧.都是球星踢球的时候韧带才能断裂.怎么我也会???!!然后花的钱,受的罪就不说了.工作一放就是七周.回来以后,交接的工作就算交出去了.昨 ...

  5. JD面试Pass的挫败感

    好久没有写东西,现在自己脑子的思绪也乱乱的. 今天2016-11-3,天气雾霾,气温2-13度,心情就像这北京的雾霾天一样,有一种抑郁.压抑和挫败感.好久没有出去面试了,在sinosoft一干,转念已 ...

  6. 项目开发经验谈之:设计失败的挫败感

    为什么80%的码农都做不了架构师?>>>    项目经验谈之:设计失败的挫败感--老资格给你的压力 前言:最近一段时间似乎感触特别的多,心情也特复杂的.也许你曾经有过同样的际遇,也许 ...

  7. 一篇不错的文章--项目开发经验谈之:设计失败的挫败感

    项目经验谈之:设计失败的挫败感--老资格给你的压力 前言:最近一段时间似乎感触特别的多,心情也特复杂的.也许你曾经有过同样的际遇,也许没有,但是我的目的只有一个:分享,勉励! 在项目中担任架构设计,不 ...

  8. 第一次当管理时,为啥会有很强的挫败感?

    半年前刚提拔做领导的时候,每天事做得蕞多的是我,蕞晚走的也是我.但团队的状态还是很差,业绩一塌糊涂,自己付出了很大的努力还是没有改善,心理产生了很强的挫败感.为什么会如此呢?为此我梳理了一下前因后果, ...

  9. 鲁班精神 和工匠精神_软件工匠的挫败感和愿望

    鲁班精神 和工匠精神 一段时间以来,我一直在思考是什么让我喜欢或不喜欢一个项目. 在职业生涯的大部分时间里,我都在咨询公司工作,因此我接触了许多不同的环境,行业,团队规模,流程和技术. 有些项目是我绝 ...

最新文章

  1. 36氪研究 | 智慧零售行业研究报告
  2. gitee合并分支_使用Gitee进行协作翻译的简单介绍
  3. dubbo注册中心zookeeper的安装使用
  4. 思科认证网络工程师CCNA(更新完毕)
  5. delphi ascii字符数组_344. 反转字符串
  6. day10 Python 形参顺序
  7. iOS开发 - 抛出异常
  8. swift 2.0 语法 循环
  9. “一键删除中国App”应用海外走红,下载量破500万!谷歌:我先把你删除了
  10. 伪元素在父元素中居中_web前端Html5开发CSS之元素五大居中方式,实用又简单!...
  11. 哈夫曼树(二)之 C++详解
  12. Ae效果控件快速参考:3D 通道
  13. US1MF-ASEMI贴片薄体封装二极管US1M
  14. xp系统怎么关闭wmi服务器,教你win10系统wmi服务器怎么关闭
  15. PHP 登录注册附带邮箱手机号验证
  16. 用于高速网络的实时且可靠的基于异常的入侵检测
  17. 爬虫篇——采集单机游戏(网页游戏),爬取小游戏
  18. Python简单爬虫(以爬取豆瓣高分图书为例)
  19. anemometer mysql 500_Anemometer MySQL 慢查询日志监控平台
  20. nyoj 1248 海岛争霸

热门文章

  1. 判断移动端PC端访问网页时跳转到对应的移动端网页
  2. pfSense book之DNS解析
  3. Linux命令之ps-ef|grep ps-aux|grep nohup
  4. Linux小白式安装Nginx教程
  5. 请问软件设计师证在找工作中有多大用呢?
  6. 燕十八ajax笔记,燕十八商城笔记资料.doc
  7. 物联网卡空中开卡技术为物联网发展添砖加瓦
  8. android平台下OpenGL ES 3.0实例详解顶点属性、顶点数组
  9. C语言中所有,C语言所有关键字.doc
  10. linux客户端配置网络打印机,请教linux命令行配置和使用网络共享打印机的..._网络编辑_帮考网...