开发人员应该知道的一些东西

写点东西《每个开发人员都必须知道的 10 个 Git 命令》 想象一下,您刚刚在 Git 存储库中提交了一次提交,但随后您意识到您忘记在该提交中包含更改,或者您可能想要修复提交消息本身。但是,它会将这些更改保留在您的工作目录中。当您想取消上次提交并从头开始进行更改,同时在重新提交之前保留工作目录中的更改时,这非常有用。当您进行新的提交时,HEAD 会移动到您的提交的顶部。分叉会在您的 GitHub 帐户上创建某人的仓库的个人副本,从而可以在不影响原始仓库的情况下进行更改。此命令修改您做出的最近一次提交,将任何暂存的更改与您的新注释结合起来,以创建一个更新的提交。 阅读详情

 鉴于经常看到很多傻傻的问题,比如xx语言干什么用的,xxx语言是不是落伍了?(不过说实在的,这些问题初学者都会有.)
  我在这里说说开发人员应该知道的一些东西。但是这些只是我在平日里看到和想到的。难免有所偏差,请见谅.
  软件开发,是一个综合性的活计。软件开发,并不仅仅是编写代码.学会了用c这些编程语言进行编程只是第一步,一个最最基本要求。其他要的东西还多着呢。在 我看来,程序员大致可以分为两类.当一个工作任务分配到程序员身上时,一种程序员知道为什么要这样去做.另外一种则知道怎么去做完这个工作.
   而这个区别就大了.如果你知道为什么要这样去实现,这个至少说明你能把握住你的任务在软件工程里面的位置.如果你只是仅仅知道怎么去完成他.那只是说明你 能做完这个工作而已.想做好就不一定能行了.而第一种程序员一定能做好.做的最优.看看下面的条条,希望对大家都有所帮助.

  第一要说的,编程的关键是什么?
  编程不是实现了代码就可以了.引用我的友人的一句话,“编程讲究是一个整体的平衡性。”
   对于这个他是这样解释的。“平衡性,是软件的很重要的部分,从平衡性的角度去考虑编程,就会抑制你想要用最新技术,最新系统等等一些想法。因为从平衡性 的角度考虑,只要你的软件有一个瓶颈出现,你的程序就是失败。你首先要考虑的是怎么消除程序中可能存在的一些瓶颈。在这个基础上你才有权利去考虑提高你程 序的性能”.就算你拥有最新的技术,最好系统,如果你的代码不行。只要你的程序有性能瓶颈存在,等于什么都没有做。
   
  在这里我想说的就是程序是人写的。如果你的水平不行,再好的现成的技术也是用不起来的。就算用起来了,你可能没有办法说清楚,为什么这样用?

  第二要说的,怎么编程?
   我想很多人看到这个问题,一定会在心里把我骂的体无完肤的。心想这小子活腻了。骂也无妨。暂且听我说。我说的怎么编程不是要说怎么写详细的代码,而是你 的程序最终是怎么形成的。我想写到这里又有人把我给陵迟了一次了。但实际上编写代码是在软件的生产过程中占有时间比较少的一块。

  我个人觉得要包含以下的几个部分:
  1。市场潜力分析
  分析你要写的软件能不能卖出去,或者说我要编写什么样的软件?
  2。同类产品竞争分析
  看看你的同类产品的优缺点,设计你的软件的卖点.(如果没有卖点,就没有必要继续了)
  3。软件设计
  写出详细的软件流程,数据流程。主要算法。软件架构等
  4。编写代码
  不用说了吧
  5。bug测试和试运行
  6。卖

  这些事,有的是市场的事,有的是系统分析员的事,还有的是编程的事。但是在很多小公司,本着小公司事必亲恭的办事原则。大家多了解一点是不会有错的。
   
  举个具体的例子来说。假如我要编写一个共享软件。我要怎么做呢?
   
  1。要好好想想我要写的软件有没有“钱”途。时间在15天-30天左右。在这段时间里面一定要好好的做一下市场考察.这个可是最关键的一步.
  2。好,我已经决定要写xxx软件了。
  3。在网上找几个对xxx最有威胁的同类软件,分析它们优缺点。要它们的优点,不要他们的缺点。设计出自己软件的卖点.
  4。根据前面分析的结果,大概的列出xxx软件应该具有的功能表
  5。写出1.0版的基本功能表,写出1.x的功能表。不要一次就做完全部的功能,这样的话,你的软件永远都没有出世的机会  
  6。选择编程语言 (看看,编程语言到这里才出来)
  7。上网找类似的源代码,算法。RFC标准文档。吃透.软件代码和算法的良好重用,会让你事半功倍的.
  8。根据你选定语言,算法,标准文档,写出xxx的详细设计文档。文档一定要用,不然你的计划性就不强.计划性不强,随意性就大.随意性大了,软件很容易失败的.
  9。按照设计文档编写代码
  10。测试和卖

  第三,哪里有资料,标准文档
  
   代码的世界是千变万化的, 在开始一个新的项目之前,完全可以找一个类似功能的代码来看看。这样可以更好的改进你的程序。有时还可以加快进度。还有当新的技术出来时,你要看看相关的 文档。虽然不要完全了解它的功能,好处。但是你至少要知道新的技术能用在什么地方。怎么用。配合什么其他的技术用能更好的发挥它的作用。编写软件不是全部 的东西都是自己写的。有很多的功能是一种标准,也许是标准算法。像图形的,多媒体的,加密解密的算法。有的是一个标准的文件格式,像各种图像文件,多媒体 文件。还有的是一种标准的约定。像email,telnet等常见的网络工具。

  所以你要知道你可以从哪里找你要的资料。我把我知道的都写在这里

  源代码和技术资料站点
  www.vchelp.net gb
  www.youkuaiyun.com gb
  www.codeguru.com en
  www.codetools.com en
  www.dexv.com en
  msdn.microsoft.com en
  www.programmerheaven.com en
  www.freshmeat.net en
  www.sourceforge.net en
  www-900.ibm.com/developerWorks/ gb
  
  论坛和标准,组织
  www.linuxaid.com.cn gb
  www.linuxbyte.com gb
  www.aka.org.cn gb
  www.rfc.org en gb

  第四,要掌握的工具和知识
  工具,可以让你的工作更加的有效率和不易出错。
  
  下面的工具也许你用过,也许你没有用过。不过没有关系的。同行的老鸟会教我们怎么用的。(我想到哪个就写哪个。没有顺序问题)
  1。数据库工具
   建数据库工具,代表 powerdesigner
   数据库分析工具。很多大型的数据库都会带的。
  2。流程图设计 代表 visio 2000 , smartdraw
  3。case工具 代表 rose
  4。代码分析工具 
   代表 bounderchecker(for vc delphi),smartcheck(for vb) ....
  5。编辑器 
   代表 vi,vic,Ultra Edit
  6。源代码管理
   代表 vss ,cvs
  7。编程工具,不要我多说了吧
  8。其他的,我没有用过的,但是也许在某个行业用的很多的工具。(废话 :))  

  知识的话,因为每一个人的发展方向不一样,所以大部分人的知识结构都不一样。但是有几点应该是一样的。

  1。英语能力
    主要的新的技术,文档资料都是用英语来作为首发的。如果要学到更好更新的知识,技巧。不懂点英语也是不行的。也不要指望有人给你翻译出来。一般来说, 这些资料,看的懂的人不需要翻译,看不懂的人没有办法翻译。半懂不懂的人翻译出来的文章我想你也不敢看。所以大部分的资料还是英语原文的。当然也有很多的 人在翻译这些文章,但是对于这么多的资料来说,翻译过来的只是很小很小的一部分。求人不如求己。多学点英语没有错的。

  2。设计能力
   虽然一般来说,正规的公司有系统分析员做设计(我猜的)。但是70%-80%的小公司,可就不一定了。知道一点软件工程的知识,知道一些文档设计工具怎 么用。或者知道应该有哪些设计文档。也是很有好处的。比较这些东西如果你学到了,就是你自己的了。而且这些可是加工资的好东西。很有钱途的。:)

  3。语文写作能力
   作为一个程序员,大部分时间是都是在写代码。但是代码的注释,各种文档,测试报告,说明文档,使用手册编写,这些都需要文字功底的。 还有用email,bbs,qq这些工具与人交流的时候,如果话都说不清楚,那交流就更谈不上了。水平提高进步也就有点问题了。

  4。学习能力
    没有几个人是全部学会了再去工作的。这个不是很现实。目前社会也不太允许这样做。一边工作一边学习是很常见的。也许很多人是在工作之中才学会做某些事 情的。很多技能也是这样会的。此外,很多新的项目的到来。很新的技术的到来都要求我们能适应新的工作环境,新的工作要求。如果没有好好的学习是很容易被一 个项目踢掉的。呵呵。
另外有一点,当上司让你做你不会的东西时,你要告诉他,你不会,但是会在XX天内把他搞定。不会没有关系,会学习也是会上进的一种好表现。

  5。知道自己要做什么,要学什么,要发展什么。
   世界上软件技术是多的像9个牛上的毛一样多,也许还要多很多。如果我们什么都要知道。哦,天哪,我不想活了。
   作为一个软件人员也好,作为一个初学者也好。知道自己要往那个方向走是很重要的。不然很容易的就饿死在软件技术迷宫里的。最后只好不干这一行了。这个可不太好。
一 般来说,作为一个软件人员,掌握一到两个语言的开发能力就可以了。另外除非你是想做软件技术的研发(这些工作最有钱,在大型的公司是最受欢迎)。如果不是 做软件技术的研发,只是一般的应用程序编写的话,不用太关注今天出来什么新的技术,明天又出来什么新的技术。这些东西只要知道就行了。知道有这么回事就可 以了。以后有用的到的地方再去认真的关注也是不迟的。自己选择一个发展的方向,努力的向前走。不要被各种各样的新技术诱惑过去。说句实话,很多的所谓新技 术的怎么怎么好,怎么怎么优异,很多时候都是有商业行为在里面的。要自己会判断才行。如果不能判断怎么办,看下面的一条。

  第六:知道的更多
    很多初学者最麻烦的事是怎么在这么多的软件技术里面选择一种又好学,又有前途(钱途),又能做点什么伟大的事情的技术来开拓软件开发这个他们未知的领 域。对于这个麻烦的问题,很少有解。如果你能遇到一个很好的老师,那就是你的福气,千万要抓住这个机会。如果你不得不一人做出这个决定,那只能是小心翼翼 地来了。不过一般来说学c和c++都是一个不错的选择。
  初学者的另外一个麻烦的问题是,当我选择之后,在学习过程中出现的很多这个和那个的新 技术,新的变化。我该怎么办。这个也基本无解。只能是你自己慢慢慢慢积累。积累到你能理解这些新技术的出现是为了什么,这些新变化的发生是为知道的更 多......,这些新变化的发生是为了什么之后。你就会不怕这些的新的东西。
  我一向坚持,如果我知道的更多,我的力量就会更大。我就更不会怕出现变化。如果因为你的信息不足,而无法对某件事情进行判断时,千万不要强行进行判断。对你没有好处的。

转自http://topic.youkuaiyun.com/u/20110308/19/01ead01d-787f-44e5-bf30-b2795efc4c00.html

STM32控制气泵和电磁阀实现 2、mos管的选型:mos管选择主要注意两个参数即可,一是导通的电流,二是耐压值,并且常用NMOS管,根据要求,气泵和电磁阀供电电压为12V,所以选择的mos管耐压值要大于12V,这里选用耐压值为30V的MOS管,并且导通电流为5.8A,如下图。1、气泵和电磁阀的开和关均为开关量,实现控制方法有多种,比如继电器,但是继电器动作有噪声且体积较大,更好的方法为使用mos管。使用STM32控制气泵和电磁阀的开和关,气泵和电磁阀的供电电压为12V。最终实现单片机控制气泵和电磁阀的开和关。 阅读详情

相关推荐

CentOS7下Node.js v20+安装与常见依赖库问题解决指南

本文详细介绍了在CentOS7系统下安装Node.js v20+的完整流程及常见依赖库问题的解决方案。通过升级glibc到2.28+、配置环境变量以及处理libstdc++版本问题,帮助开发者顺利在老旧系统上部署最新版Node.js,提升开发效率。

weixin_30689307的博客 157

作为软件开发人员应该知道的最基本的东西

<br />鉴于经常看到很多傻傻的问题,比如xx语言干什么用的,xxx语言是不是落伍了?(不过说实在的,这些问题初学者都会有.)<br />   我在这里说说开发人员应该知道的一些东西。但是这些只是我在平日里看到和想到的。难免有所偏差,请见谅.<br />   软件开发,是一个综合性的活计。软件开发,并不仅仅是编写代码.学会了用c这些编程语言进行编程只是第一步,一个最最基本要求。其他要的东西还多着呢。在 我看来,程序员大致可以分为两类.当一个工作任务分配到程序员身上时,一种程序员知道为什么要

我想我是海 冬天的大海 心情随风轻摆 1206

PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战

在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯

1270

谷歌过去7年51次收购:多为全资收购(名单)

北京时间7月7日消息,据国外媒体报道,从2001年到2008年3月期间,Google(谷歌)共进行了51次收购活动,其中绝大部分为完全收购,仅三起为收购其他企业股权。被Google所收购企业总部绝大部分位于美国,且多数具体交易额并未对外透露。在收购这些创业公司后,Google将为此组建新型业务部门(或并入已有业务当中)。 截至2008年3月,Google规模最大的收购活动为兼并网络广告公司双击

python二级题库 2070

ROS四旋翼无人机快速上手指南(4):阿木实验室PX4功能包飞行控制分析与讲解(重点章节)

成就更好的自己 这一章详细讲解一下阿木实验室(AMOV)的开源项目px4_command功能包,此功能包通过mavlink协议直接控制烧录px4固件的自驾仪,还融合了来自各个传感器的位姿,距离等信息,此外,功能包提供的接口向上对接应用层算法级的程序例如SLAM,kfc目标检测引导,路径规划等算法,因此,在整个无人机控制中起到了承上启下至关重要的作用。 用到的文件及工具包链接如下: AMOV实验室源码如下: https://gitee.com/theroadofengineers/px4_comman

The Road of Engineer 6171

别再死磕AUTOSAR文档了!手把手教你用ISOLAR-A配置BswM模块(附实战流程图)

本文通过Vector ISOLAR-A工具实战演示AUTOSAR BswM模块的配置流程,帮助工程师快速掌握基础软件模式管理。从环境准备到模式仲裁规则配置,再到动作列表实现,详细讲解每个步骤,并提供常见问题排查和高级优化技巧,大幅提升开发效率。

weixin_42542669的博客 250

开发人员需要知道的东西杂谈

鉴于经常看到很多傻傻的问题,比如xx语言干什么用的,xxx语言是不是落伍了?(不过说实在的,这些问题初学者都会有.) 我在这里说说开发人员应该知道的一些东西。但是这些只是我在平日里看到和想到的。难免有所偏差,请见谅.    软件开发,是一个综合性的活计。软件开发,并不仅仅是编写代码.学会了用c这些编程语言进行编程只是第一步,一个最最基本要求。其他要的东西还多着呢。在我看来,程序员大致可以分为两

HUST_MJ的专栏 832

ORB-SLAM3编程实践指南

它基于特征点的立体视觉和视觉惯性里程计技术,能够在没有先验知识的情况下,从单目、双目或RGB-D摄像头的输入中实时构建稠密三维地图,并实现相机的定位。通过正确配置环境、准备数据集和运行ORB-SLAM3,您可以实现高效的视觉SLAM系统,并获取相机在三维空间中的位姿。其中,[path_to_vocabulary]是ORB-SLAM3的词汇文件路径,[path_to_settings]是相机参数配置文件路径,[path_to_sequence]是输入图像的路径。运行ORB-SLAM3。

ByteNinja的博客 552

RS232转TTL为何总烧芯片?MAX232电平转换实测与避坑指南

串口通信是嵌入式与工控领域最基础也最常用的接口方式,但RS232与TTL两种电平标准差异巨大,一个是正负双向高摆幅,一个是单一正电压逻辑,简单直连极易造成芯片烧毁。电平转换芯片如MAX232通过内部电荷泵实现双向转换,但其本身不具备隔离与过压保护能力,若外围电路设计不当或共地不良,仍可能成为故障源头。理解电平标准、转换原理及电气边界,是安全使用串口通信的前提。无论是单片机调试、老式设备对接,还是工业现场长距离通信,合理选择转换模块、增加钳位与TVS保护、遵循正确接线顺序,都能有效降低烧板风险。本文基于MAX

weixin_34121304的博客 284

人工智能训练师三级考试备考全攻略|报名条件+真题+补贴申领一站式通关(2026版)

本专栏是人工智能训练师三级考证最完整的备考指南,共77篇文章,覆盖从职业认知、报名实操、AI基础知识、数据标注、模型训练测试部署、考前冲刺到考后进阶的全链路。本导读按模块整理了全部文章链接,帮你快速定位所需内容。人工智能训练师是国家认定的正式职业,证书可在osta.mohrss.gov.cn查询,三级证书可申领最高3120元技能补贴。

白话机器学习 1805

Windows 11 安装、使用 IndexTTS2

本文详细介绍了如何在 Windows 11 系统上安装与使用 B站开源的新一代文本转语音模型 IndexTTS2。内容涵盖硬件要求、Git 与 uv 工具安装、项目源码获取、依赖配置、模型下载及 WebUI 启动步骤,并说明了基础与高级使用方法。教程注重实操细节,包括环境变量设置、显存适配启动参数等,帮助用户顺利部署并体验高质量、可调控情感与节奏的 TTS 语音合成效果。

寒水馨 · 轻量级技术文档 · hanshuixin.org 5159

开发人员需要知道的东西杂谈.doc

  鉴于经常看到很多傻傻的问题,比如xx语言干什么用的,xxx语言是不是落伍了?(不过说实在的,这些问题初学者都会有.) 我在这里说说开发人员应该知道的一些东西。但是这些只是我在平日里看到和想到的。难免有所偏差,请见谅.     软件开发,是一个综合性的活计。软件开发,并不仅仅是编写代码.学会了用c这些编程语言进行编程只是第一步,一个最最基本要求。其他要的东西还多着呢。在我看来,程序员

madebei的专栏 455

【ComfyUI】Flux 图像扩展

本文介绍了一个基于Flux扩图技术的ComfyUI工作流,能够智能扩展图像尺寸并保持内容连贯性。该流程通过扩散模型与条件编码的结合,对图像边缘进行语义填充生成,适用于艺术创作、海报设计等场景。工作流包含图像加载、外扩填充、文本编码、扩散采样等核心节点,采用Flux1-fill-dev等专业模型确保生成质量。演示效果显示,系统能自然延伸原图内容,保持风格统一。该技术可广泛应用于插画扩展、摄影增强、游戏场景构建等领域,显著提升创意工作效率。

Mr数据杨 930
上一篇: 关于《orange‘s一个操作系统的实现》中调用门部分的补充和纠正
下一篇: 设计模式(博客园精化集)
findstr
博客等级 码龄19年 63粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值