【计算机思维】面向人的开发 站在巨人的肩膀上

思维转变:使用其他程序员开发的“黑箱”,不要重复造轮子

以Java举例,从常用的集合框架开始,我们要产生新的思维转变了,我们已经学会了基本的功能,但是在真正开发的时候,用基础功能去做开发效率极低,并且是在重复造轮子,造的轮子还不一定有前人造的好,这显然是愚蠢的,我们更应该站在巨人的肩膀上,直接使用前人造好的轮子,然后去快速完成更多的事情。

该做的事情:学会看“黑箱”使用说明

开始的时候,我们学会了创建类并且为它加上了一些方法,之后我们还可以调用自己写的类,去完成一些事情,现在,我们要调用别人写的类和方法了,因此,**看懂使用说明至关重要!**然后我们直接用这些类去完成我们想要做的事情就可以了。

态度的转变:面向人的开发

对于业务代码来说,我们更应该面向人而不是计算机,计算机能读懂是必然,但是这不够,业务开发是团队作战,我们得让其他人看懂我们写的代码,这很重要。

并且你很容易发现,似乎我们经常使用别人做好的方法去开发,这并不是什么丢人的事情,你直接使用了前人的宝贵经验,并且用它完成了更多的事情,这很重要,这也是人类得以快速发展的原因

思想构建:永远不要放弃底层知识

任何的新的类、方法和框架,都是人研究的,并且是专门的研究员开发的,然后全世界的人使用,这让全世界的程序员“连接大脑”,但是,任何程序员都不应该抛弃底层知识,数据结构、操作系统、计算机网络……

所有的顶层应用都来自于底层知识,基础知识能够帮助你快速学会和理解上层应用,避免成为码农。

学习一下优秀的源码也有助于你写出更好的代码。

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

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

相关文章

【Computer Organization】The Core Design Thinking of single cycle CPU

1 Overview This section introduces someting that maybe you need to know before learning. Note:This CPU is based on MIPS instruction set. 1.1 Tools LogisimCS 3410 ComponentsMARS MIPS simulatorWin10 or Mac OS 1.2 Courses 自己动手画CPU《计算机组织与结构实…

【汇编语言】王爽 - 内中断复习

0 前言 基于王爽《汇编语言》和Coursera的《计算机组成》课程。 1 中断分类 CPU在执行指令的过程中,产生了一个异常/中断,因为CPU只能同时执行一条指令,所以需要暂停该指令的执行,转而去处理异常/中断信息。 这个异常可以来…

【算法】蛮力法/穷举法/枚举法 的基本问题分析

炮兵问题的优化,设立逻辑数组 蛮力法设计思想 有策略地穷举 验证 制定穷举策略避免重复 简单来说,就是列举问题所有可能的解,然后去看看是否满足题目要求,是一种逆向解题方式。(我也不知道答案是什么,…

如何高效学习算法【实例 + 可视化】

对于初学者来说,学习算法,不应该先学习抽象的理论,那样没有感觉,越学越晕,应该: 有具体的例子有可视化过程 同时需要结合理论知识对照学习,理论扎实、实践有效,同时要有结果反馈。…

【计算机网络实验·北航】实验一:网络实验入门(1)

1.3 远程在线环境使用 PCA、PCB、PCC和PCD:4台PC机S1、S2:2台交换机R1、R2:2台路由器中间的设备:组网连线器 远程组网连线: 使用PCA上的组网连线软件,配置组网连线器,实现组网连线。 PCA和PCB…

【C++】int与string转换

头文件&#xff1a;<string>&#xff0c;注意&#xff0c;这与<string.h>、<cstring>不是一回事儿语法&#xff1a;int x to_string(str)&#xff0c;其中string str "1"。

【C++】rand函数的基本使用

rand()函数用于生成伪随机数&#xff0c;每次生成的随机数都不变&#xff0c;方便我们调试程序。 重要是的随机数的范围公式&#xff08;适用整数&#xff09; 公式&#xff1a; 确定范围加偏移量 例如&#xff1a;a和b是整数 [a,b]&#xff0c;范围是b - a 1&#xff0c…

【操作系统】虚拟化CPU、Memory,共享文件

几个概念 CPU、虚拟CPU进程内存、虚拟地址空间 物理的CPU被OS虚拟成了多个虚拟的CPU&#xff0c;这些虚拟CPU分别运行各自的程序&#xff0c;这些正在运行的程序被称为进程。物理内存被OS虚拟成了多个虚拟地址空间&#xff0c;每个进程都有独立的、自己的地址空间&#xff0c;…

【Linux】编译C语言文件(-o -lpthread)

在gcc中使用-o编译 对于一个一般的程序&#xff0c;直接使用gcc <C语言文件名> -o <编译后生成的文件名>即可&#xff0c;例如以下程序&#xff1a; // cpu.c #include <stdio.h> #include <unistd.h> #include <stdlib.h>int main(int argc,…

【Linux】Ubuntu下进行C语言编程

前言 需要您会使用Windows下cd切换目录的基本命令&#xff0c;否则请先自学相关知识&#xff0c;之后再阅读本文。 0 基础命令 介绍最基础的Linux终端命令。 su - root&#xff1a;切换到root用户&#xff08;不用也可以&#xff09;ls&#xff1a;查看当前目录位置cd&…

【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)

前言 本文写于2020年10月&#xff0c;如果你多年后看见这篇文章&#xff0c;方法可能已经失效&#xff0c;但是请牢记&#xff0c;尽量下载你所处时代的最新版本的软件&#xff0c;会减少很多麻烦。 摆正心态 即便按照本文操作&#xff0c;由于你的系统状态和我的不一样&…

【操作系统】进程调度(1):FIFO(先进先出)算法 原理与实践

0 前言 本文基于书籍《Operating System&#xff1a;Three Easy Pieces》。 中译本&#xff1a;《操作系统导论》&#xff0c;中译本质量还可以&#xff0c;但是英文版后来的更新&#xff0c;中文版目前没有进行同步更新&#xff08;写下此文的时间是2020年10月&#xff09; 1…

【操作系统】进程调度(2a):SJF(短任务优先) 算法 原理与实践

0 前言 接上一篇文章&#xff1a;进程调度&#xff08;1&#xff09;&#xff1a;FIFO&#xff08;先进先出&#xff09;算法 原理与实践 1 前提铺垫 请参考上一篇文章的前提铺垫部分&#xff0c;本文与之完全一致。 2 SJF 原理 SJF&#xff08;Shortest Job First&#x…

【操作系统】进程调度(2b):STCF(最短完成时间优先) 算法 原理与实践

0 前言 接上一篇文章&#xff1a;进程调度&#xff08;2a&#xff09;&#xff1a;SJF&#xff08;短任务优先&#xff09; 算法 原理与实践 1 前提铺垫 与上一篇同。 2 STCF 原理 STCF&#xff08;Shortest Time-to-Completion First&#xff09;最短完成时间优先。 2.1…

【操作系统】进程调度(3):RR(轮转) 算法 原理与实践

0 前言 接上一篇文章&#xff1a;进程调度&#xff08;2b&#xff09;&#xff1a;STCF&#xff08;最短完成时间优先&#xff09; 算法 原理与实践 1 前提铺垫 除了与上一篇相同的&#xff0c;这里介绍新的基础知识。 1.1 三种类型的程序 计算密集型&#xff08;CPU导向&…

【操作系统】进程调度(4):I/O、不可预测的运行时间

0 前言 上一篇文章&#xff1a;进程调度&#xff08;3&#xff09;&#xff1a;RR&#xff08;轮转&#xff09; 算法 原理与实践 1 前提铺垫 与上一篇同。 2 引入I/O操作 之前我们一直提及的是计算密集型程序&#xff0c;现在我们的程序可以进行I/O交互了&#xff0c;它会…

坚定不移地加速,并且不断解决新问题

想要更快更高效地做事&#xff0c;一定会带来问题&#xff0c;我们要做的是 保证事情一定要做对坚定不移地解决问题&#xff0c;寻找方法&#xff0c;而不是回归慢速 这里有几个典型的例子 从单周期CPU&#xff0c;到多周期CPU&#xff0c;是为了提速&#xff0c;我们不必再…

运行bat批处理文件不出现黑框

if "%1""hide" goto CmdBegin start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit :CmdBegin echo off java -jar logisim118.exe exit 只需要添加上述代…

【操作系统】使用循环创建线程,一个手残导致的bug

让我们先看看这个手残的程序…… 这是一个简单的生产者消费者问题。 #include <assert.h> #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <unistd.h> #include <pthread.h> #include <sys/types.h> #incl…

【计算机系统设计】重点 · 学习笔记(0)

HDL等硬件描述语言&#xff0c;例如Verilog&#xff0c;是并行的&#xff0c;而不像软件一样的顺序执行的&#xff0c;例如很多的always块&#xff0c;initial块&#xff0c;都是并行的&#xff0c;他们会转换为硬件电路&#xff0c;而在仿真的时候&#xff0c;他们也是并发执行…