01 2021 档案

摘要:过程 过程是软件中一种很重要的抽象。它提供了一种封装代码的方式,用一组指定的参数和一个可选的返回值实现了某种功能。然后,可以在程序中不同的地方调用这个函数,。设计良好的软件用过程作为抽象机制,隐藏某个行为的具体实现,同时又提供清晰简洁的接口定义,说明要计算的是哪些值,过程会对程序状态产生什么样的影响 阅读全文
posted @ 2021-01-31 16:07 不想取名字a 阅读(546) 评论(0) 推荐(0) 编辑
摘要:程序编码 假设一个 C 程序,有两个文件 p1.c 和 p2.c。我们用 Unix 命令行来编译这些代码: gcc -Og -o p p1.c p2.c 命令 gcc 就是 GCC C 编译器。编译选项 -Og 告诉编译器使用会生成符合原始 C 代码整体结构得机器代码优化等级。使用较高级别优化代码会 阅读全文
posted @ 2021-01-30 20:12 不想取名字a 阅读(404) 评论(0) 推荐(0) 编辑
摘要:#可执行文件格式 现在 PC 平台流行的可执行文件格式主要是 Windows 下的 PE(Portable Executable)和 Linux 下的 ELF(Executable Linktable Format)。目标文件就是源代码编译后但未进行链接的那些中间文件(Windows 下的 .obj 阅读全文
posted @ 2021-01-27 17:45 不想取名字a 阅读(488) 评论(0) 推荐(1) 编辑
摘要:Hello world hello world 的代码非常简单,相信大家都不陌生。 #include <stdio.h> int main() { printf("Hello world\n"); } 可一个 “hello world” 程序是如何在电脑上跑起来的呢?不妨思考以下问题: 程序为什么要 阅读全文
posted @ 2021-01-26 14:35 不想取名字a 阅读(413) 评论(0) 推荐(0) 编辑
摘要:#如何制定计划 任务分解:我们写程序的时候都有经验,就是要把复杂的问题拆分成简单的问题,大的模块拆成小的模块,在工程里面这个叫“分而治之”。做计划也是一样,第一步就是要对任务进行分解。在项目管理中,对任务分解有个专业的词汇叫 WBS,它意思是工作分解结构(Work Breakdown Structu 阅读全文
posted @ 2021-01-20 21:04 不想取名字a 阅读(86) 评论(0) 推荐(0) 编辑
摘要:#软件工程可行性研究 常从三个方面着手做: 经济可行性。从成本和收益角度分析,看投入产出比。不仅要分析短期利益,还要分析长期利益,看是不是值得做。 技术可行性。软件项目最终是需要人通过技术来实现的,所以要分析技术上是不是可行,如果有技术上解决不了的问题又能否规避。 社会可行性。社会可行性涉及法律、道 阅读全文
posted @ 2021-01-19 22:45 不想取名字a 阅读(121) 评论(0) 推荐(0) 编辑
摘要:#敏捷开发 ##敏捷开发定义 敏捷不是一种方法论,也不是一种软件开发的具体方法,更不是一个框架或过程,二十一套价值观和原则。软件开发宣言: 个体和互动高于流程和工具。 工作的软件高于详尽的文档。 客户的合作高于合同谈判。 响应变化高于遵循计划。 ##敏捷开发特点 需求分析:需求源于一个个小的用户故事 阅读全文
posted @ 2021-01-16 19:53 不想取名字a 阅读(98) 评论(0) 推荐(0) 编辑
摘要:#瀑布模型 瀑布模型算是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。主要分为 6 个阶段: 问题的定义及规划:这个阶段是需求方和开发方共同确定软件开发目标,同时还要做可行性研究,以确定项目可行。这个阶段会产生需求文档和可行性研究报告。 需求分析:对需求方提出的所有需求 阅读全文
posted @ 2021-01-15 22:49 不想取名字a 阅读(121) 评论(0) 推荐(0) 编辑
摘要:#什么架构师思维 架构设计,就是要控制技术的复杂性,其中有几种有效的方式: 抽象 分治 复用 迭代 ##抽象思维 抽象思维可以说是整个架构设计的基础。因为对于架构设计来说,是要为了满足业务需求的,而业务需求都是一些文字性的描述、原型、UI 设计图,这些需求要最终变成代码让机器执行,就必须先进行抽象, 阅读全文
posted @ 2021-01-14 20:22 不想取名字a 阅读(137) 评论(0) 推荐(0) 编辑
摘要:#如何做好架构设计 架构设计,是为了控制软件项目中技术复杂的问题。架构设计,通过组织人员和技术,低成本满足需求以及需求的变化,保障软件稳定高效运行。 架构设计可以通过四个基本步骤: 分析需求 选择相似的成熟的架构设计方案 自顶向下层层细化。 验证和优化架构设计方案。 ##分析需求 架构设计,最基本的 阅读全文
posted @ 2021-01-13 16:50 不想取名字a 阅读(115) 评论(0) 推荐(0) 编辑
摘要:#产品意识 产品意识,本质就是一种思维方式,一种站在产品角度思考问题的方式。可以分为: 商业意识 用户意识 数据意识 ##养成培养产品意识的好习惯 在日常使用产品、开发产品的时候,要多站在产品的角度思考,去思考它的商业价值、用户体验、使用场景等等。 比如平时聊天用的微信,在使用一些具体功能是,可以思 阅读全文
posted @ 2021-01-12 22:23 不想取名字a 阅读(89) 评论(0) 推荐(0) 编辑
摘要:#怎样做需求分析? 主要经过三个步骤: 挖掘真实需求; 提出解决方案; 筛选和验证方案; 整个过程是迭代进行的,如下: 收集需求:对用户需求进行收集整理; 分析需求:对需求进行分析,挖掘用户真实需求; 需求评估:筛选过滤掉不可行的需求; 需求设计:针对用户需求提出解决方案,设计成产品方案; 验证需求 阅读全文
posted @ 2021-01-11 19:59 不想取名字a 阅读(147) 评论(0) 推荐(1) 编辑
摘要:#你为什么应该学好软件工程? 软件工程学告诉我们,软件项目的开发其实是一个工程,整个开发过程是可以有效组织起来的;对于开发过程的各个阶段,已经有很多解决问题的最佳实践,有很多方法来帮助我们高效完成任务;我们还可以借助工具来协助管理,提升开发效率。 #从软件工程的角度解读任正非的新年公开信 ##软件项 阅读全文
posted @ 2021-01-10 21:54 不想取名字a 阅读(170) 评论(0) 推荐(0) 编辑
摘要:#前言 一直以来没有系统学习过 linux ,今天通过《linux 鸟哥私房菜》这本书好好学习下。 ##用户和用户组 ###用户 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮 阅读全文
posted @ 2021-01-08 21:41 不想取名字a 阅读(244) 评论(0) 推荐(0) 编辑
摘要:#前言 重温了下《深入理解计算机系统》这本书,有了些收获。 ##可执行文件生成的过程 以 “hello world” 程序为例, hello 程序的生命周期是从一个高级 C 语言程序开始的,因为这种形式能够被人读懂。然而,为了在系统上运行 hello.c 程序,每条 C 语句都必须被其他程序转化为一 阅读全文
posted @ 2021-01-06 21:17 不想取名字a 阅读(799) 评论(0) 推荐(0) 编辑
摘要:#前言 重新看了下《C程序设计语言》这本书,有了一些新的收获。 ##关于变量 程序块(就是两个花括号之间)可以声明和初始化变量,这些变量是只限于花括号内的局部变量,花括号外并不能引用它们。 #include <stdio.h> int main() { extern int add(int a, i 阅读全文
posted @ 2021-01-04 21:24 不想取名字a 阅读(173) 评论(0) 推荐(0) 编辑
摘要:#前言 最近想转 vim,高效是建立在对命令烂熟于心的基础上的。自己总结了一些方便记忆 vim 命令的点。(以 vscode 的 vim 插件为例) #vim 特点 我感觉 vim 的最大的特点就在于它的命令组合,比如说: 20dd 数字“20”就代表执行次数,“dd”是删除当前行,这个命令就代表着 阅读全文
posted @ 2021-01-01 18:27 不想取名字a 阅读(143) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示