代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

推荐文章

对软件设计中回调机制的了解

    对软件设计中回调机制的理解 调用方式        模块之间的通信,总是存在一定的调用。从调用方式上来看,可以分为两种:同步调度、异步调用。 同步调度:即阻塞调用,A调用B,A会等待B执行完,A所在线程会阻塞,属于双向通信 异步调用:当前线程不阻塞,A调用B后继续往下执行。如果A需要B的返回,则B在执行完成后要调用A,这就是回调,属于双向通信。如果A不需要B的返回,属于单向通信     java的回调机制       诸如javascript、actionscript等脚本语言,函数可以作为参数来传递,所以通过将函数作为参数,就可以实现回调。如: //注册鼠标按下时的事件回调 this.addEventListen(MouseEvent.MOUSE_DOWN,onMouseDownHandler);   /**  * 当鼠标按下时的事件处理  */ function onMous

    阅读全文>>

作者:coody分类:【_软件设计浏览(1355

2019-09-24

软件设计准则-依赖倒置(Dependency Inversion Principle,DIP)

    软件设计原则-依赖倒置(Dependency Inversion Principle,DIP)依赖倒置原则通过确保代码依赖于抽象而不是具体实现来解耦代码。依赖注入(Dependency Injection,DI)模式是依赖倒置原则的一种实现方式,DI提供服务所需的所有类,常见的DI三种方式:构造注入、属性注入和方法注入。 依赖倒置原则的使用意图: 高层模块不应该依赖于低层模块。两者都应该依赖于抽象。 抽象不应该依赖于细节。具体细节应该依赖于抽象 代码示例 Bad Code /// <summary> /// 圣诞节商品折扣类 /// </summary> public class ChristmasProductDiscount { public ChristmasProductDiscount()

    阅读全文>>

作者:coody分类:【_软件设计浏览(2078

2019-09-26

软件设计准则-接口隔离原则(Interface Segregation)

    软件设计原则-接口隔离原则(Interface Segregation)接口隔离原则的意图就是为了避免我们的代码依赖一些用不到的接口,接口不应该大而全,而是根据相关功能进行分组。当然接口隔离也不是说要一个行为就定义一个接口,而是更具具体类把共同的行为抽象成一个接口,不同的部分单独定义成接口。 代码示例 Bad Code /// <summary> /// 一个功能丰富的接口 /// </summary> public interface IProduct { decimal Price { get; set; } decimal WeighInKg { get; set; } int Stock { get; set; } int Certification {

    阅读全文>>

作者:coody分类:【_软件设计浏览(1682

2019-09-26

软件工程师怎么选择未来的职业路线

    程序员如何选择未来的职业路线  本人从2008年毕业,作为一名软件开发程序员,开始正式踏入软件开发行业,转眼间已是9个年头了。做过初级软件工程师、高级软件工程师、项目主管、技术经理、项目经理。近些年带过开发团队、参与招聘面试。今天把个人这些年一些体会或者观点分享下,仅代表个人观点。 一、程序员的特性   技术出身的职场人特性很明显,与做市场、业务出身的职场人区别尤其明显。IT行业中常见的一些职场角色:老板、项目经理、产品经理、需求分析师、设计师、开发工程师、运维工程师等。开发工程师具有如下特征:   1、逻辑思维清晰、严谨和细腻;但是有时不容易转弯,有些程序员容易较劲、转牛角尖。   2、性格偏内向、不善于沟通、表达和交际;但是在网络聊天工具上,有些显为幽默、能聊。   3、为人实在、真诚待人、直来直往;但是有时比较呆板。   4、书面表达能力较差,甚至排斥编写文档的工作。  

    阅读全文>>

作者:coody分类:【_软件设计浏览(1086

2019-09-24

软件工程第一回作业

    软件工程第一次作业 花20分钟写一个能自动生成小学四则运算题目的“软件”,要求:除了整数以外,还要支持真分数的四则运算。将代码上传至coding.net,并将地址发布至自己的博客。 四则运算 在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。 《构建之法》这本书和我们以前教科书的表现形式不同,以前的教科书注重理论,这本书有了很大的改观,对于理论性的东西 结对编程对于我们现在大学生(基础不一样)意义有多大? 敏捷开发对于大学生来说难度有多大? 在软件开发构成中,每个部分的衔接由谁去做处理? 在开发软件前的调研(毫无经验),怎么开头? 软件有很多种:包装在盒子里的软件、基于网页的软件、企业或学校或某组织内部的软件、游戏、手机应用、操作系统、工具软件,选取三种软件,请分析它们各自的特点。 基于网页的软件:它的特点就是访问使用快捷,只需浏览网站即可,别人的介绍

    阅读全文>>

作者:coody分类:【_软件设计浏览(708

2019-09-24

需求建模跟表述的技术

    需求建模和表述的技术 核心概念 需求分析最常见的误会是需求分析可以将需求做出成为方案,这是最大的误区,需求应该是还原业务,应该以业务为线索,换句话说就是 需求分析----->业务分析,但 需求分析--X-->方案分析。 什么是分析 分解 提炼 消除矛盾 实际上分析就是分解-->提炼-->消除矛盾这么一个过程。 分解 分解是解决复杂问题的基本方法,也是有效的方法。 提炼 消除矛盾 建模技术 什么是建模和为什么要建模 使用UML Unified Modeling Language,是一种语言,很简单,语言是什么?语言是交流工具,那么语言的特点就是要统一大家才能听懂,所以这就是UML。从交流的层面来讲,UML也就是一个符号系统,某一种符号表示某一种意思,这样简单理解就可以了,不要搞得太复杂。 说到UML是一个符号系统,自然而然,

    阅读全文>>

作者:coody分类:【_软件设计浏览(532

2019-09-26

需求在治疗设备企业(一)

    需求在医疗设备企业(一) 大家都知道医疗设备的管控上,是非常严格的,那么在医疗设备制造企业做需求管理是一种什么样的体验,我也说不清,但我可以从我工作的经历来聊一聊。 需求工程师的职责 当然,聊工作前需要聊聊我的组织,我们需要干一些什么事情? * 临床场景分析 * 竞争对手的知识产权分析,专利撰写、商标申请 * 法规符合性的分析 * 临床调研 * 竞争对手分析 * 产品策划和产品策划方案输出 * 用户需求输出 * 产品需求输出 * 产品需求分解(子系统分解需求说明书)审核 * 软件需求输出 * 术语表(数据字典输出) * 中文字符串组织评审 * 中文说明书审核 * 说明书评审 * 需求跟踪 * 软件需求功能确认,软件方案设计评审 * 与产品线和市场部排定需求优先级 * 产品资料发布(长期) * 临床反馈收集和走访 不负责什么呢? * 项目进度跟踪 * 字符串表输出,只负责术语表的定义

    阅读全文>>

作者:coody分类:【_软件设计浏览(922

2019-09-25

Jenkins的构建编号跟一个有趣的bug

    Jenkins的构建编号和一个有趣的bug什么是构建编号 jenkins每个job的每一次构建都有一个属于自己独立的构建编号,每一次的构建结果(成功或失败)所使用的编号都是不相同的。 正确的构建编号:每个job的每次构建结果使用不相同的构建编号 错误的构建编号:多个job的每次构建结果使用相同的构建编号     多个job相同的构建编号引起的bug 举例说明: 比如有A,B,C三个job,使用相同的构建编号 当A构建时,将构建编号由1011提升至1012。 而此时要构建B,则必须连续点击二次,才会出现响应。 原因:B的初始编号为1011,它需要比当前的最大+1,才可以被构建。构建编号的递增 1011->1012->1013 而如果要构建C,则必须连续点击三次,才会出现响应。 原因:C的初始编号为1011,它需要比当前的最大+1,才可以被构建。101

    阅读全文>>

作者:coody分类:【_软件设计浏览(1657

2019-09-27

【软件设计之UML9大图介绍】

    【软件设计之UML九大图介绍】 用例图:从用户角度描述系统功能,并指出各功能的操作者。   静态图:包括类图和对象图。类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。   行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。   交互图:描述对象间的交互关系,包括时序图和协作图。时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示

    阅读全文>>

作者:coody分类:【_软件设计浏览(1452

2019-09-24

【整洁之道】怎么写出更整洁的代码(上)

    【整洁之道】如何写出更整洁的代码(上)  如何写出更整洁的代码       代码整洁之道不是银弹,不会立竿见影的带来收益。   没有任何犀利的武功招式,只有一些我个人异常推崇的代码整洁之道的内功心法。它不会直接有效的提高你写代码的能力与速度,但是对于程序员的整个职业生涯必然会带来意想不到的好处。   如果你还是一个在校学生,或者是刚工作没多久的“菜鸟”,那么很有必要接触一些这方面的知识的。很显然,它会帮助你更快的适应企业级开发的要求。   1. 为什么需要代码更整洁?   在考虑代码整洁的时候,我们需要明确的一个前提是,这里不讨论代码的对错。   关于什么是整洁的代码,可能千人千面,但是关于为什么要写出整洁的代码是要达成共识的。   如果今天需要出去约会,不管是男生女生一定会将自己梳妆打扮一番吧。如果是周末自己一个人宅在家里呢?可能很多人都是不修

    阅读全文>>

作者:coody分类:【_软件设计浏览(1859

2019-09-24

【转载】怎的进行需求评审

    【转载】怎样进行需求评审原文链接 CSDN igreenhill 问题描述:我们公司快要成立测试部了,之前我们一直是研发部下的测试小组,在成立之前,我们测试组集体讨论了下测试组成立前后的一些问题。其中一个难题就是需求,我们几个都没有相关的经验,所以我在此求助大家,邀大家来讨论下:如何进行需求评审?怎样的需求评审机制才是有效的? 精彩回答:   关于需求评审,首先我觉得应该解决的是可用的评审可用资源问题,只有把这个问题解决了,其评审结果才可以采信,否则不过形式尔耳。   关于需求评审的一些必备资源,我这里选列了相关角色,如下列:   * 业务专家或是熟悉该业务的人员(通常也叫业务方代表)   * 文档审查人员   * 架构师   * 需求分析师   * 需求评审组织人员及记录人员   当然,除了人员意外,必要的时间、场地和上层决策者的支持也是不可或缺的。   这些资源一旦

    阅读全文>>

作者:coody分类:【_软件设计浏览(1333

2019-09-25

DevOps课程

    DevOps教程唠叨话 关于德语关我屁事与靠计算逼哥数据,知识点的教学教程。 先简要搭建知识点框架;后逐步完善知识点内容。(暂时提供知识点,大部分未完善,持续更新中。) 注:第一版本,结束于2017年10月18日。其中的核心,DevOps架构和DevOps服务的二大部分,针对页面的概念性知识点 具体描述。   目录 前言:DevOps教程 第一章、DevOps基础设施 DevOps信息技术 DevOps数据中心 第二章、DevOps互联网 DevOps域名 DevOps主机 第三章、DevOps计算 DevOps服务器-操作系统 DevOps服务器-虚拟化 DevOps服务器-器件 第四章、DevOps数据 DevOps存储 DevOps数据库 第五章、DevOps网络 DevOps架构与模型 DevOps负载均衡 DevOps内容分发网络 DevOps软件定义

    阅读全文>>

作者:coody分类:【_软件设计浏览(2135

2019-09-26

替Hexo Next主题添加分享及打赏功能

    为Hexo Next主题添加分享及打赏功能博客地址:往事亦如风的博客 要想先看打赏和分享功能效果,请移步我的博客 打赏功能 因为next主题自带打赏功能,所以我们只需要在next的主题配置文件中找到如下代码,image文件夹是我在blog/source下面建立的文件夹,然后把你的微信及支付宝收钱码图片拉进去,修改名字为wechatreward.png和alipayreward.png reward_comment: 坚持原创技术分享,您的支持将鼓励我继续创作! wechatpay: /image/wechatreward.png alipay: /image/alipayreward.png 分享功能 要想集成分享功能,先要去ShareSDK注册账号和项目,然后得到项目的appkey 假如你不嫌麻烦,下面是在网页上分享按钮的代码,你可以将以下代码添加到想要显示的位置,添加完之后需要修改

    阅读全文>>

作者:coody分类:【_软件设计浏览(692

2019-09-26
上一页 1/17页 下一页