如何独立设计完成一个软件项目

一、程序员高薪的秘诀
 
无非一个: 机遇+经验+灵感。
程序员的薪资与所用语言关系不大,并且高薪的程序员的学历也参差不齐,而从业的时间和业绩更大程度上影响了程序员所能得到的待遇,如下表所示
  
年限
月薪
0
800-3000
2
3000-6000
3
5000-15000
4 年以上
6000-40000
一个合格的程序员应当具有敬业、灵活、创新、博学等全面优秀的素质。很多程序员抱怨自己待遇不公,但往往忽略了自身的因素,首先程序员在要求月薪之前,就应当首先考虑自己在所在的企业的位置,自己的能力专长是否正是该企业所需要的,能给企业带来多少产出。当然,初入行业时,也许会因为管理的因素造成不公的待遇,但是当逐渐融入工作之后,对企业以及环境有了一定的了解,就可以根据自己的实际情况理直气壮地提出要求。同时,由于软件行业的变动很大,程序员跳槽或“下课”是常有是事,有时候一些工作岗位也不能只注重它的薪酬多少,关键是看自己能够得到多大的提高与发展,某些时候,低薪但富有挑战力的工作也不失为开拓自己以后道路的跳板。
一个小网络公司的招聘广告:
招聘程序员,要求熟练掌握 VC、 VB、JAVA脚本、 SQLServer、 Access、 月薪800-1500、 包食宿。
 
二、程序员的报酬有几种方式:

1、传统的月薪或年薪+奖金
追求稳定的程序员可以选择基础好的企业以薪金谋生,并求稳步发展。
2、期权方式
有创业精神的则可以选择有发展前景的企业或团队,获得效益分享,期权曾经造就了不少程序员暴富的神话,但其风险也比较大。
3、临时工
只做一两个项目,做完走人,按项目获取相应酬劳。
 
三、软件公司对软件开发人员的资源分配
1、传统意义的软件公司——大公司
       一般有明确的分工,各个流程或模块由不同的程序员完成。也许你是相当优秀并且知识是相当全面的,但是实际上的工作当中并不需要你做超出范围的事情,工作一般比较单一,同时也能得到稳定的收入。
2、作坊式的软件公司——小公司
       一个技术人员通常要完成更多方面的工作,诸如需求分析、系统设计、详细设计、编写代码、软件测试、撰写文档、安装调试、系统维护等,这些工作通常会混在一起,而不是按照什么软件工程的顺序来完成。

注: 在从创业的趣味性来说,有的程序员会更加喜欢后者,但是这同时也要考虑到薪酬的分配是否合理,自己所付出的劳动是否得到了应有的回报。

四、将自己改造成为一个复合型人才

具备多种能力和素质,并能够将多种能力进行综合运用
1、软件开发的技能水平
(1)、对使用的开发工具要了解透彻;
(2)、对使用的开发语言要熟练和精通。
2、应用行业的了解程度
(1)、对应用行业方面的知识要了解;
(2)、对应用行业的运作模式要了解。
3、软件开发技术知识与行业知识的结合
(1)、将行业中的管理流程进行转化,用计算机代替手工;
(2)、在转化过程中不断提高程序开发的水平。
注:仅仅只会计算机的程序员是不可能适合这些专业性极强的行业的,对特殊行业本身有深刻了解的程序员到这些部门肯定会大受欢迎
五、软件企业要求基础软件工程师具备六大基本素质
1、良好的编码能力
软件人员的一个重要职责是把用户的需求功能用某种计算机语言予以实现。编码能力直接决定了项目开发的效率。
2、自觉的规范意识和团队精神
程序员分为两种,一种是程序“游击队员”,他们可能对编程工具很熟,能力很强,把编码编得很简洁高效,但却缺乏规范和合作的观念;另一种程序员编程不一定很快,但是很规范,个人能力不一定很强,但合作意识很好。
3、认识和运用数据库的能力
信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。
4、较强的英语阅读和写作能力
编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与世界各地编程高手交流、发布帮助请求同样离不开英文。
5、具有软件工程的概念
从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作
6、求知欲和进取心
软件工程师应具有较强的学习总结能力、需求理解能力和对IT新技术比较敏感,同时,掌握最新的IT实用技术。
六、必须掌握的开发方法
采用瀑布型和快速原型法结合的开发方法,
 即:系统需求分析->开发方案设计->子系统实现->系统集成与确认下,
图为开发模型示意图
 
七、独立设计开发软件必须经过的九个过程
 
1、需求分析
从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。
A、 提取出核心、主要、急迫的业务,明晰业务流程
(1)针对客户对软件项目或产品的最初提出的需求目标和范围,为用户解决什么样的问题,从众多的业务中提取出用户核心的、主要的、急需的业务。
(2)从用户繁杂的业务中进行业务、业务流程的提取,把那些分布在各个部门的同一种业务提取出来。分析用户的这个业务流程中哪些是系统能帮助管理的,哪些是要在系统外处理的,充分分析用户现有的业务和业务流程。
B、 运用管理思想,优化业务流程
(1)采用网络计算机这些新的技术手段代替原先手工、电话等方式在信息的传递、信息的共享、数据的处理等方面将会带来新的方式,必将改变原有的业务流程。
(2)根据对用户业务的理解,考虑是否可以运用先进的管理思想,比如MRPII、ERP、JIT等等管理模型,进行现有业务流程的重组或优化。
制造资源计划管理系统(MRPⅡ)、企业资源计划管理系统(ERP)。
C、要求最终用户参与到项目的整个开发过程
   一个软件项目在需求分析阶段时的信息收集非常重要,但由于每个企业的管理模式不同,企业内部各部门所需要的软件功能也不同,在收集信息时,公司高层提供的信息量为实现软件项目80%的内容,部门主管根据公司高层提出的要求进行理解能提供本部门80%的内容,具体岗位的工作人员根据主管提出的要求进行理解能够提供本岗位80%的内容,根据三方面收集到的信息能够在软件项目完成后实现预定目标的
100*0.8*0.8*0.8=51.2%,剩下的48.8%要经过很长时间,开发者与企业各部门之间进行协商,再原来80%的基础上提取出15%的信息100*0.95*0.95*0.95=94.12%,最后剩下的5.88%只能做为软件项目完工投入使用后的维护升级中进行解决
 
2、系统设计
A、 根据需求分析绘制出系统框架图和系统流程图
(1)、 系统框架图要体现出软件的整体架构;
(2)、 采用松散组合式设计,使各功能模块间即相互独立又可相互配合;
(3)、 系统流程图要体现出客户的业务流程;
(4)、系统框架就象人的骨架、系统流程就象人的神精、血液偱环系统和肌肉
(5)、系统框架、流程的设计直接影响到软件的开发周期和最终产品的质量。
B、 制定项目实施计划
(1)、 项目总体需要多少时间、多少人、多少设备、多少钱;
(2)、 每个功能模块需要多少时间、多少人、多少钱;
(3)、 对每个功能模块的测试需要多少时间多少人、多少钱;
(4)、 培训需要多少时间、多少人、多少钱;
(5)、 软件过行后期维护需要多少人、多少钱;
3、详细设计
A、 根据系统框架图对每个功能模块进行分解设计;
B、 根据系统框架图绘制各功能模块的子框架图;
C、 根据系统流程图绘制各功能模块的子流程图;
D、 各子功能模块之间要做好数据接口;
E、 根据子框架和子流程设计数据字典;
F、 数据字典要结构设计合理,不合理的设计将给软件造成巨大的隐患;
Verify(用户信息及密码验证表)
序号主键字段名中文对照数据类型长度小数默认值允许空
1ID用户IDvarchar10  Not Null
2 password密码varchar72  Not Null
3 level等级varchar10  Not Null
4 name姓名varchar10  Not Null
5 station岗位varchar30  Not Null
6 dept部门varchar10  Not Null
System_Function(系统功能表)
序号主键字段名中文对照数据类型长度小数默认值允许空
1 akey主功能键varchar10  Not Null
2 bkey次功能键varchar10  Not Null
3mkmc模块名称varchar20  Not Null
4 id用户IDvarchar10  Null
5 enabled功能使用标记bit  0Null
6 imageurl功能图标名varchar30  Not Null
7 navigateurl功能文件名varchar30  Null
User_Purview(用户权限表)
序号主键字段名中文对照数据类型长度小数默认值允许空
1 akey主功能键varchar10  Not Null
2 bkey次功能键varchar10  Not Null
3mkmc模块名称varchar20  Not Null
4 id用户IDvarchar10  Null
5 enabled功能使用标记bit  0Null
6 imageurl功能图标名varchar30  Not Null
7 navigateurl功能文件名varchar30  Null
Dept(部门表)
序号主键字段名中文对照数据类型长度小数默认值允许空
1id部门IDvarchar10  Not Null
2 dept部门名称varchar10  Not Null
 
4、编写代码
A、 编写代码时要标准化、规范化;
B、 每行或每段代码要做出中文或英文注释;
C、 一个功能可实现的代码不要分解到两个功能模块中;
D、 前台定义数据名称要尽可能与后台数据库定义一致;
E、 重复使用的代码段要做到一个类中,以提高开发效率和软件运行效率;
F、程序界面各控件的布局摆放要符合人机工程,充分考虑到用户的需求,方便用户操作;
G、做好代码的防错和容错,在出现意外情况时要给出错误提示,以便用户找出解决问题的方法。
5、软件测试
A、 单个功能模块的独立测试,可以与编码同时进行;
B、 各个功能模块的整体配合测试,找出各模块接口出现的问题,并尽快加以解决。
C、 在软件测试中灵活运用逆向思维,找出软件中的错误,尽可能将可预知的错误在软件投入使用前解决掉;
D、负责测试的人员不能和代码编写人员是同一个人;
E、对测试的过程和结果要作好记录,以便以后出现问题时可以尽快找出解决的方法;

6、撰写文档
A、 对软件进行整体综合的描述;
B、 对软件各功能模块作出详细的使用说明;
C、 作好帮助索引,以方便用户可以尽快的找到答案;
D、 软件各功能模块要与帮助文档动态联接;
E、 帮助文档要尽可能的作到图文并茂,充分体现出软件
      的功能和流程。
F、 帮助文档要尽可能的将程序运行过程中出现的错误作
      出说明,并明确出解决问题的方法和手段。
 
7、安装调试
A、 软件开发完毕后要进行产品打包发布;
B、 要给软件安装运行作出详细的操作说明;
C、 做好软件与操作系统之间的配合;
8、人员培训
A、 软件在开发完毕后需要对最终用户进行操作培训;
B、 除了培训软件的基本操作外,还要指导用户在软件出
      错时如何找到解决的方法;
C、最终用户的文化水平和业务水平各有不同,要根据用
      户的接受理解能力来制定培训计划;
D、切记用户永远是对的,如果用户出现错误,那是培训不到位造成的,对用户提出的每一个问题要耐心的解答。
E、做好培训记录,以便在以后出现问题时明确责任。
9、系统维护
A、软件运行后会出现各种问题,这些问题在软件开发过程中是不可预知的;
B、对出现的问题要尽快加以解决,以满足客户的需求;
C、软件所以要设计成松散组合架构,给软件后期维护和升级提供了有利条件;
D、系统应具备动态数据备份与恢复功能,使用户可以随时对系统进行备份,在数据出现问题时可以将数据恢复到操作前的状态。
  八、设计一套通用系统架构
1、程序加载;
2、程序登录验证;
3、用户密码更改;
4、主程序,包括系统菜单、工具栏、状态栏等;
5、系统用户管理;
6、系统用户使用权限分配;
7、系统功能管理;
8、系统备份与恢复;
9、重新登录和退出系统;
九、设计软件架构所需要运用的知识点

1、数据库操作:
      包括数据库连接、对数据的增删改、存储过程的应用;
2、基本界面元素的使用:
      包括标签、文本框、下拉列表框、进度条、工具栏、菜单、
              状态栏、按钮、选项组、树控件、计时器、图象控件、
              视图控件、页框、数据表格等
3、基本编程语言的使用:
      包括变量、数组、判断语句、偱环语句、 API函数、
               错误提示语句、错误异常处理语句等
4、函数和类的设计
5、与办公软件集成应用:
      包括对EXCL表格、WORD文档、文本文件的处理等

本文出自 “半瓶香油-好男人时来运转” 博客,请务必保留此出处http://chenxing.blog.51cto.com/240526/48973

 
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UIDesigner(腾讯公司出品) 在软件设计阶段,交互设计师或者产品经理等常常需要使用一些工具(比如Visio、Axure RP、Flash或者OmniGraffle等)制作出静态稿或者原型来表达设计思想。这些工具是各有各的优势,当然也各有各的缺点啦。那么腾讯CDC是如何设计软件原型的呢?这里向大家介绍我们正在研发的原型设计利器UIDesigner。   首先,先让我们来体验一下UIDesigner制作出来的原型效果。这个原型是一个设置窗体,主要由按钮、复选框、分组框和文本框等控件构成,其中一些按钮还具有响应的动作(如打开另一个界面,关闭窗体等)。如图一所示,这是使用Firework制作出来的交互图。 图一、使用Firework制作出来的设计稿   这种交互图的特点是简单明了,能够表示出各种控件的基本属性(如文本、位置和选中状态等),但它只是一个静态的图片,不能真实表现出每个控件的响应动作,如仅看这张图,是不清楚点击代理服务器设置分组框上的“设置…”按钮会有什么响应的。   那再看看你若使用UIDesigner制作出来的效果:最终输出的是一个EXE可执行文件(见图二左上角),双击运行后就会出现一个与最终实现效果完全一致的窗体(见图二右)。另外,它还是一个具有响应动作的真实原型,例如你若点击了“设置…”按钮,那就会弹出一个新的窗体(见图三)。 图二、使用UIDesinger制作出来的原型 图三、点击“设置…”按钮后弹出的另一窗体   实际上,这个新弹出的窗体都是一个独立的原型,也是由UIDesigner制作出来的。由于它里面的控件同样可以设置下一步的响应动作,所以从总体上来看,众多原型就像一个树状结构,而其中的父节点就是图二中的设置窗体了。这种结构具有一个很大的好处:无论你完成了多个界面的原型,只需要它们之间有链接关系,最后输出的只是一个EXE可执行文件。这样,你可以很方便地与其它人员表达自己的设计思路,让沟通变得更加快捷。   接下来,我们看看这个原型是如何制作出来的。   第一步:建立空白窗体,调整它的大小、风格、标题和Icon 图四、使用UIDesigner制作原型—建立窗体   第二步:从工具箱中拖曳控件到窗体上,修改这些控件的属性(如Text等) 图五、使用UIDesigner制作原型—加入控件   由于UIDesigner具有自动对齐的功能,所以在拖动控件到窗体时就可以完成排版工作,不需要再逐个像素去调整。另外,不单单在加入控件到窗体时,在改变已存在于窗体内的控件的位置或者大小时,自动对齐功能一样会生效。这样,设计者在调整控件大小或者位置时(包括控件与控件,控件与窗体边缘等的距离等情况),工作变得很简单。 图六、使用UIDesigner制作原型—自动对齐功能   第三步:几分钟后,所有的控件都放到窗体并设置好属性了,如下图。 图七、使用UIDesigner制作原型—整体界面效果   此时,设计者就可以使用软件的导出图片或者导出原型功能分享你的设计成果了。当然,现在这种效果还只是一个没有响应动作效果的原型。接下来,我们再给“设置…”按钮加入响应动作。首先,选中“设置…”按钮,然后点击工具栏的“响应”按钮,你将会看到如图八的响应设置窗口。此时,你可以选择打开窗体、打开网页、弹出对话框、修改属性值和关闭本身窗体等五种效果,这里我们选择“打开窗体”,然后在弹出的对话框里指向弹出窗体的文件。最后,点击“完成”按钮即可。 图八、使用UIDesigner制作原型—设置控件的响应动作   到此为止,你就完成一个与最终实现效果完全一致的高保真原型了。产品经理和开发人员等若想了解你的设计思想就不需要看着长长几页的说明文档了,而只需要运行你输出的原型文件,就可以对你的设计思路一目了然。   UIDesigner除了能让使用者能够快速地搭建起软件界面的高保真原型外,还提供了项目管理,让使用者能够方便地管理工程文件;提供了图片库和模板库功能,让使用者可以方便地重用以前的设计资源;提供了32个Windows客户端软件常用控件,满足使用者的设计需求;提供了多个属性设置入口,分别实现最常用属性设置、一般属性设置和高级属性设置功能。当然,UIDesigner不是专用来设计QQ的,其它的Windows客户端产品都在它的工作范围之内。总的来说呢,使用UIDesigner来制作原型是很高效的,而制作出来的原型也能够实现设计师、产品经理和程序开发工程师三者间的快速沟通,减少不必要的工作内耗。 ------------------------------------------------------------------ GUI_Design_Studio_3.5.94.0 在2008年,这款软件的作者从1,322位付费用户那获得了162,302美元的收入(其中仅12月份就有39,000美元),这令人鼓舞地证明了只要是提供真正价值的服务和软件,就能够创造很好的收入,即使在经济萧条的寒冬里。 GUI Design Studio是一款图形用户界面设计工具,您能用它在不需要编写任何代码或脚本的情况下快速地创建演示原型。使用标准元素绘制个人化的屏幕、窗口以及控件;将它们整合以展示操作工作流然后运行模拟程序测试您的设计。 当您需要绘制一款应用程序的外观或显示怎样将程序的各个部分连接起来时,您就可以使用GUI Design Studio来实现,如: 将产品创意文档化 制作项目提案 需求记录 创建屏幕图样 为开发人员制作详细的规格 为现有产品提出加强方案 以及更多其它用途 为用户以及股东甚至您自己制作展示文件以: 验证设计 找出替代项 评估多个使用场景 系统需求 Microsoft Windows Vista/XP/NT/2000 至少15MB的硬盘空间 推荐不少于256MB的内存 工程 将您的工作组织放到工程里。 每个工程都拥有它自己的文件夹结构。 可连接您计算机或网络上任何地方的其它库工程。 可连接到您计算机或网络上任何地方使您能够方便地获取图片以及其它文件。 创建您想要的并独立于所有工程的个人化设计文件。 创建能重复使用的设计库以及工程之间的一致性。 将图片直接从剪贴板中粘贴到工程文件夹的文件中。 屏幕设计程序 可同时打开多个设计文档并能使用分页界面在文档间快速切换。 可使用标准Windows元素创建图形用户界面(GUI)屏幕,包括框架窗口、会话、菜单、工具栏、标签、按钮、复选框、单选按钮、滚动条、滑动调节框、微调框、组合框、树列表、列表框、编辑框以及静态文本等。 通过现有元素或其它自定义控件创建自定义控制组件。 在其它设计中创建将要使用的控件设计。 以常用的文件格式添加图标与图片。 从能够显示您将获得什么的控件面板中进行拖放操作。 属性编辑程序使您能将每个元素进行自定义。 元素的自动生成功能。 您能在任何地方放置任何元素。 Edge snapping能通过“点击”对屏幕元素进行统一记录。 设计网格向您提供了简单的制作具有一致性设计布局的方法。 只需单键点击就能排列元素组。 均衡地隔开元素组。 调整元素大小以适应其它元素或测量一组其它元素。 聚焦缩小以查看细节设计或聚焦放大以浏览设计概况。使用工具栏按键或键盘或鼠标的滑动缩小放大功能聚焦增量。 使用鼠标的滚动以及滚轮功能快速浏览设计的概况。 剪切、复制与粘贴。 使用可选的canvas向导显示可用的屏幕空间。 通过文本框与书签对您的设计进行注释。 为每个设计添加说明。 选择色彩主题以避免实际功能窗口的混淆。 图标 为图标面板提供快速的访问方式。 工程间可共享常用图标。 工程也能拥有它们独享的图标集。 使用将来在实际产品开发中可能用到的标准ICO文件。 包含的Icon Express编辑程序支持16色、256色以及最大尺寸为127 x 127的真彩图标。 如果愿意同样能整合任意其它的图标编辑应用程序。 展示与原型 在可导航元素(如按键与窗口)之间创建连接以显示控制流程。 为图象添加覆盖保护以及添加其它元素以创建可导航的热点。 支持形式化与非模态的窗口并支持显示、隐藏或微调窗口,以及窗口替换以实现切换效果。 锚点使您能对窗口进行准确定位。 能立即在模拟程序中测试或展示您的设计。 添加消息框以描述可能在真实应用程序中出现的功能。 可创建多种场景,如正常条件下的场景与多个出错场景。 选择要激活的场景或让模拟程序为您选择。 更改有效的屏幕分辨率以查看您的设计如何适应不同的屏幕大小。 在没有进行脚本或代码编写的情况下,所有操作都是以图形模式完成。 ------------------------------------------------------------------ Balsamiq_Mockups_1.8.4 1. 首先安装 AdobeAIRInstaller.exe 2. 安装主程序 MockupsForDesktop.air 3. 使用 keygen 进行注册 在Balsamiq Mockups中绘制界面原型,就像在纸张和白板上手工绘画一样方便快速,而且不用担心出错,因为你完全可以进行回复/重做。在Balsamiq Mockups中设计原型比在纸张和白板可有趣多了! 丰富的控件支持 Balsamiq Mockups预先提供了丰富的控件,如浏览器窗口、媒体播放器组件、圆形图表等,让你信手拈来! 丰富的控件 方便的属性设置 当你选择一个控件时,会立刻出现该控件的属性选项,你可以随时编辑修改属性。 属性设定 无限的恢复/重做,不用担心出错,你可以无限制的进行回复和重做。 开放,可移植的数据 Balsamiq Mockups所生成的数据是易于阅读的XML格式数据,你可以进行方便的移植和重用集成。 开放的数据 多种方式的集成应用,你可以将Balsamiq Mockups集成倒Confluence, Jira, XWiki中. 集成应用 Balsamiq Mockups是一款免费的带有手绘风格的原型设计软件,可以帮助你设计桌面应用软件,Web 2.0 站点, RIA富网络应用程序, Web站点和Web应用软件。 功能和亮点: 操作方面:拖拽,控件分组,甚至元素之间的对齐都做得很到位; 预制了六十多个界面元素,从简单的输入框,下拉框,到经常用得到的导航条,日历,表格,到复杂的Tag Cloud,Cover Flow, 地图,WYSWYG的格式工具栏等,有了这些不用从头画起,其实比用白板都快; 界面元素的修改很简单,比如导航条的几个标签页的label,就是用逗号分隔的文字,下拉框的选项就是分行的文字; 使用xml语言来记录和保存界面元素和布局,从而使其能够快速的导入到你所需的任何一个项目中,或其他工具中。 可以将设计导出成PNG格式的图片; 随着使用的熟练,快捷键便派上用场,超过一半的元素均有快捷方式,这更有助于原型的快速构造,几乎几分钟便可实现一个满意的而复杂的原型设计; 跨平台,Balsamiq Mokups是用Flex和Air实现的,所以在Mac OS, Linux和Windows下都能使用; 不仅仅有桌面版本,还有能集成在Confluence,JIRA,和XWiki中的版本,使得异地在线协作更方便有效。 可以用命令行进行导出操作,这样就能让我写个脚本,从svn里checkout某个目录下的所有设计文件后,导出图片,打包后用邮件发到项目经理,工程师甚至客户那; 跨平台,Balsamiq Mokups是用Flex和Air实现的,所以在Mac OS, Linux和Windows下都能使用;不仅仅有桌面版本,还有能集成在Confluence,JIRA,和XWiki中的版本,使得异地在线协作更方便有效;据作者说,现在这款软件设计就是用它自己来设计的,经典的“吃自己的狗粮”,这也让我对其更有信心,因为它是开发者为开发者写的软件。 还有值得一提的是Balsamiq Mokups的在GetSatisfaction上的用户支持和服务,作者Peldi对问题报告,新需求的回应很积极和及时。而且根据这个讨论上看,到月底就会有一个专门用来分享界面控件设计的社区网站了,很期待。 再要说的一点是这款软件是要付费的,79美元(也可以免费,具体如何免费,请看网站上的说明),相对于它能节省下来的时间和提高的效率,是很值得的。Peldi说在2008年,这款软件就从1,322位付费用户那获得了162,302美元的收入(其中仅12月份就有39,000美元),这令人鼓舞地证明了只要是提供真正价值的服务和软件,就能够创造很好的收入,即使在经济萧条的寒冬里。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值