软件设计
文章平均质量分 80
abcwoabcwo
这个作者很懒,什么都没留下…
展开
-
Boost中的锁
多线程编程中,通常某些数据是在多个线程间共享的,由于线程的并发行,一个线程读写的过程中另一个线程也极大可能同时读写, 这必然造成公共资源的错乱, 引起程序错误, 此时对公共资源的保护实在必行了, 需要使用公共资源之前, 先“锁”住, 防止其它线程更改,等待当前使用完成“解锁”后,其余线程才可以更改, 此种情形引出多种锁模型,适用于不同情形:多线程争抢修改资源,都需要独占式修改 – 互斥独占式...原创 2024-06-16 16:10:01 · 282 阅读 · 1 评论 -
为 CmakeLists.txt 添加 boost 组件
在项目中使用了 boost,那怎么在CmakeLists.txt 中添加关于 boost 的链接选项呢?给个例子如下:cmake_minimum_required(VERSION 2.8)project(your_project_name)set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11")find_package(Boost...原创 2019-12-17 17:50:24 · 419 阅读 · 0 评论 -
Boost简介
Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称。官网https://www.boost.org/常用库概览 时间与日期 timer库提供简易的度量时间和进度显示功能,可以用于性能测试等需要计时的任务,对于大...原创 2019-12-17 09:37:33 · 7191 阅读 · 0 评论 -
编程必备-常见参数通用缩写表
原创 2019-01-17 15:46:58 · 2545 阅读 · 0 评论 -
《简约之美:软件设计之道》学习笔记(四)
最好的设计,就是能适应外界尽可能多的变化,而软件自身的变化要尽可能少。 在你的程序中,真正需要关注速度的部分,应该局限于你可以证明的、真正让用户体会到有性能问题的那些部分。对程序的其他部分,最主要关心的还是灵活和简洁,而不是速度。 理想情况下,任何系统里的任何信息,都应当只存在一次。 某一部分的代码越简洁,未来进行变化的难度就越低。这条法则并不关心整个系统的简洁性,只是谈到了各个部分的简洁性...原创 2018-01-17 21:57:06 · 311 阅读 · 0 评论 -
编程新手所需的三种最重要的技能
编程新手所需的三种最重要的技能:读和写、注重细节、发现不同。读和写很显然,如果你连打字都成问题的话,那你学习编程也会成问题。尤其如果你连程序源代码中的那些奇怪字符都打不出来的话,就根本别提编程了。没有这样基本技能的话,你将连最基本的软件工作原理都难以学会。为了让你记住各种符号的名字并对它们熟悉起来,你需要将代码写下来并且运行起来。这个过程也会让你对编程语言更加熟悉。注重细节区分好程序员和差程序员的...转载 2018-06-02 14:03:20 · 690 阅读 · 0 评论 -
《简约之美:软件设计之道》学习笔记(一)
软件问题的根源通常都在于编程,这一切都与复杂性有关。 编程所用到的艺术和才能——化繁为简。 在软件项目中,每个程序员的工作都与设计有关。首席程序员负责设计程序的总体架构;高级程序员负责大的模块;普通程序员则设计自己的那一小块,甚至只是某个文件的一部分。但是,即便仅仅是写一行代码,也包含设计的因素。每个写代码的人都是设计师,团队里的每个人都有责任保证自己的代码有良好的设计。任何软件项目里,任何写代码原创 2018-01-17 21:35:04 · 688 阅读 · 0 评论 -
《简约之美:软件设计之道》学习笔记(三)
理想的解决方案——也即保证成功的唯一途径——就是这样设计你的系统:保证维护成本随时间降低,最终降到零(或者尽可能接近零)。只有你能做到这点,就无所谓未来收益是大还是小,总之你不需要关心。理想情况下,只要未来收益高于维护成本,工作就是值得做的。所以,哪怕维护成本和未来收益都增加,只有未来收益超过维护成本,也是值得做的。相比降低实现成本,降低维护成本更加重要。维护成本正比于系统的复杂程度。设计的质量好原创 2018-01-17 21:56:33 · 438 阅读 · 0 评论 -
《简约之美:软件设计之道》学习笔记(二)
价值由两部分组成:可能价值(这个变化有多大可能帮到用户)、潜在价值(这个变化在对用户提供帮助时,将为用户提供多大的帮助)。所以,在判断价值时,你应该考虑:多少用户(占多大比例)会从此项工作中受益?此功能对用户有价值的可能性有多大?换个说法:此功能发挥价值的频率有多高?在它发挥价值的时候,它能发挥出多大的价值?其实,几乎所有软件设计的决策都完全忽略了未来价值与维护成本的对比。有时候当前价值和实现成本原创 2018-01-17 21:56:02 · 375 阅读 · 0 评论 -
《简约之美:软件设计之道》学习笔记(五)
原创 2018-01-24 09:06:22 · 295 阅读 · 0 评论