当前位置: 首页 > news >正文

开发靠谱心得

1、目的

   记录下 不靠谱的行为,以规范自己的开发步骤。

2、内容

 2.1 不应该做哪些事情

    1、禁止虚假的交付

    2、禁止随意的承诺

   3、禁止推卸责任式的通知

   4、禁止组织浪费多人时间的会议

   5、禁止重要事故不向上反馈

   6、禁止延期不提前预警

   7、禁止遗漏工作和疏忽大意

2.2  你的目标

   作为组织的一员,我们的第一个评估指标必然是组织目标的完成情况。如果没有合适的目标,完成更无从谈起,靠谱的程序员,每周在做工作计划的时候,都要问自己一句我的目标是什么,我在完成我的目标吗?如果不明确,应该和你的领导聊聊。

    (简单来说就是做事情之前,一定要确定好要做成什么样子,要注意哪些要点,最终如何算是完成)

2.3 需求讨论

  ①  讨论前的准备

    我们会要求讨论之前必须先有需求讨论稿,并且讨论稿要提前一天发出给大家做文字评审,缩短会议时间,这对参会提出了较高的要求,也可以剔除掉非必要的参会者,以及让发起讨论的人能先理清逻辑。

   (开会前准备 需求讨论稿,让哪些人需要做什么,理清楚) 

  ② 理解需求的本意

        靠谱的程序员,不是需求的被动承接者,他们会从产品的本质去思考问题,会仔细想到对方的需求是否合理,是否考虑周全,他是需要一匹更快的马,还是更快到达目的地的交通工具?如果是更快的马,那么我们应该挖掘更好的马,但如果是更快的到达目的地,我们应该发明汽车,总之,靠谱的程序员热爱思考会挖掘需求背后的原因,给出更好的解决方案。

 (理解好这个需求是做什么的?为什么要这么做)

     ③ 确认和对齐

      有时候我们会经历一场激烈的辩论,辩论到最后大伙都精疲力尽,期望能早点结束,终于开发和产品,上游和下游达成一致,会议结束,大家终于可以吃饭。等到联调或者是验收的时候,却发现A  说达成的方案是这样,B 说达成的方案是那样的。 为了避免这样的情况发生,我们讨论达成的结论,务必白纸黑字写到需求稿中

      (多方合作的东西,一定要写清楚,让各方确认)

④ 评估工作量

     我们通常会在会议的结尾会被要求给出工作和排期,如果你之前已经做过很详细的分析工作,此时可以直接给出,但如果不是,建议仔细地拆解需求后再给出,工时预估是一种猜测,而合作者会把这个猜测当成你作出的承诺,能不能做到"承诺必达",这是一个关乎你个人品牌的大事。

代码评审

   代码评审是建设个人品牌的好时机,并且这样的机会非常多,其他人会看到你的代码,然后在心里给你打上一些标签: 质量很好几乎看不出来问题;很一般,还需要继续提升;太粗心,有很多低级错误;乱七八糟,都写的啥,浪费时间...

    靠谱的程序员会很重视代码评审,避免给他人造成麻烦,也避免损害自己的品牌形象,通常会严格执行团队里CR 前的checkList 规范,直到自己不能发现错误,才把代码评审单发给评审人,在评审过程中,也会注意和评审人沟通,而不是一味的接受或者一味的反驳

2.4 文档编写

   (写技术文档是开发者的义务,它和写可读代码一样重要,它也可以提现个人做事态度,逻辑思考能力)

      文档是给人阅读的,因为第一要务是面向读者,让读者高效的获得信息,这是文档协作的核心原则,为了达到这个目标,通常会有一些关键词,譬如: 准确、完整、简洁。文档内容应该聚焦在主题上,避免发散,避免主次不分,不同类型的文档有不同风格。

    团队通常会有一些文档写作规范,譬如我们团队有<< 技术文档编写建议>> ,通常也会有一些培训,譬如 PCG 有 "知行" 课程 << 像 管理代码一样管理技术文档>> 建议充分阅读

2.5 沟通协作

     收到请回复,这是一个关乎个人品牌建设的大事,收到消息及时回复的是职场人的共识,如果你收到消息不回复,容易给对方造成误解,一旦你养成习惯,也容易与人沟通上出现理解偏差。

     当你依赖外部同事帮你完成某个功能、或者你负责一个大项目的某一块的时候,你需要了解项目哦全貌,需要主驱动去跟对方沟通、跟进。

     及时响应,阶段性反馈,总结反馈,转出。

2.6 独立思考

    从你为产品写的第一行代码开始,你便是这个产品的创造者,这是权利也是责任,产品成功或者失败,都有你的一份功劳,靠谱的程序员从来不会让自己置身事外。

      作为独立思考的创造者,在评审需求,架构、代码的时候,都会先自问一句:"它应该是这个样子吗?"  然后去思考它最合理的设计,下面举几个例子: 

     作为考虑周全的创造者,我们在思考问题的时候想,想到到时这个产品的方方面面,它能做什么,它由什么组成,它的使用者是谁,它依赖了谁等等,系统性的考虑问题,看到的一系列的问题点,这一个个点组成免。

 

2.7 阅读的书籍

     编程知识:  << 重构-改善既有代码的设计>>

    软件工程: << Google软件工程>>  << 持续交付2.0>>

    沟通表达: << 金字塔原理>>  << 一本小小的红色写作书>>

     时间管理: << 高效能人士的七个习惯>> << 卓有成效的管理者>>
    元知识: << 程序员修炼之道: 通向务实的最高境界>> 、<<程序员的职业素养>> << 黑客与画家>>

相关文章:

开发靠谱心得

1、目的 记录下 不靠谱的行为&#xff0c;以规范自己的开发步骤。 2、内容 2.1 不应该做哪些事情 1、禁止虚假的交付 2、禁止随意的承诺 3、禁止推卸责任式的通知 4、禁止组织浪费多人时间的会议 5、禁止重要事故不向上反馈 6、禁止延期不提前预警 7、禁止遗漏工作和疏忽大意 …...

【OpenHarmony】TypeScript 语法 ④ ( 函数 | TypeScript 具名函数和匿名函数 | 可选参数 | 剩余参数 | 箭头参数 )

文章目录 一、TypeScript 函数1、TypeScript 具名函数和匿名函数2、TypeScript 函数 与 JavaScript 函数对比3、TypeScript 函数 可选参数4、TypeScript 函数 剩余参数5、TypeScript 箭头函数 参考文档 : <HarmonyOS第一课>ArkTS开发语言介绍 一、TypeScript 函数 1、Typ…...

嵌入式工程师人生提质的十大成长型思维分享

大家好,作为一名嵌入式开发者,很多时候,需要考虑个人未来的发展,人生旅途复杂多变,时常面临各种各样的挑战。如何在这个复杂多变的社会中稳步向前,不断成长,成为每个人都应该思考的问题。实际上,思维方式的差异决定我们应对挑战的能力与成长的速度。 第一:寻找自我坐…...

名下企业查询,清晰明了;在线操作,方便快捷

在现代社会&#xff0c;越来越多的人开始涉足创业和投资&#xff0c;拥有自己的企业成为一种时尚。然而&#xff0c;随之而来的是繁琐的企业注册流程和复杂的信息查询。为了解决这个问题&#xff0c;挖数据平台推出了一项名下企业查询接口&#xff0c;提供了一种方便快捷的方式…...

图书推荐:ChatGPT专业知识信息课程

《ChatGPT专业知识信息课程》&#xff08;ChatGPT-Expertise Informative Course&#xff09; 是一本由Dwayne Anderson撰写的电子书&#xff0c;提供了关于ChatGPT的丰富知识。该书涵盖了与ChatGPT相关的各种主题&#xff0c;如其与OpenAI的关系、ChatGPT与GPT-3之间的混淆、C…...

Java项目:94 springboot大学城水电管理系统

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本管理系统有管理员和用户。 本大学城水电管理系统管理员功能有个人中心&#xff0c;用户管理&#xff0c;领用设备管理&#xff0c;消耗设备…...

Unity内制作动画

Unity内制作动画 动画剪辑&#xff08;Animation Clips&#xff09; 创建动画剪辑&#xff1a;在Unity中&#xff0c;可以通过导入动画数据来创建动画剪辑。这些数据可以是FBX、OBJ等格式的3D模型文件&#xff0c;其中包含关键帧动画。 编辑动画剪辑&#xff1a;在Unity的Anim…...

Java中的JDBC如何连接数据库并执行操作

JDBC&#xff08;Java Database Connectivity&#xff09;是Java编程语言中用来连接和操作数据库的一组API。以下是一个基本的步骤指南&#xff0c;用于连接数据库并执行操作&#xff1a; 导入JDBC驱动 首先&#xff0c;你需要将数据库的JDBC驱动添加到你的项目依赖中。如果你…...

webserver服务器从零搭建到上线(六)|Timestamp类和InetAddress类

本节我们重点来谈论&#xff1a; 时间类和我们的初始化链接地址类 文章目录 Timestamp类成员函数实现 InetAddress类具体实现 Timestamp类 我们为什么要封装一个时间类呢&#xff1f; 这也是一个大型项目必须的基础组建&#xff0c;这样我们不仅可以提高代码的可读性&#xf…...

【Java】一文看懂Thread 线程池的 7 种创建方式、任务队列及自定义线程池(代码示例)

本文摘要&#xff1a;【Java】Thread 线程池的 7 种创建方式及自定义线程池&#xff08;代码示例版&#xff09; &#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专…...

【SpringBoot】四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件

本文摘要&#xff1a;四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件 &#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。公粽号&#xf…...

掌控未来,爱普生SR3225SAA用于汽车钥匙、射频电路的智慧引擎

为了响应市场需求&#xff0c;Epson使用独家QMEMS*2技术所生产的石英振荡器&#xff0c;与其精巧的半导体技术所制造的射频传输器电路&#xff0c;开发了SR3225SAA。不仅内建的石英震荡器之频率误差仅有2 ppm&#xff0c;更使其封装尺寸达仅3.2 mm x 2.5 mm&#xff0c;为客户大…...

第五届武汉纺织大学ACM程序设计竞赛 个人题解(待补完)

前言&#xff1a; 上周周日教练要求打的一场重现赛&#xff0c;时长五个小时&#xff0c;题目难度还行&#xff0c;除了部分题目前我还写不出来之外&#xff0c;大部分题都写完或补完了&#xff0c;这边给出比赛链接和我的代码&#xff08;有些是队友的&#xff09;和题解。 正…...

LeetCode---哈希表

242. 有效的字母异位词 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 代码示例&#xff1a; //时间复杂度: O(n) //空间复杂度: O(1) c…...

Python知识点13---面向对象的编程

提前说一点&#xff1a;如果你是专注于Python开发&#xff0c;那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了&#xff0c;而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python是一个完全面向对象开发的语言&#xff0c;它的一切都以对象的…...

Android Dialog软键盘弹出问题完美解决办法

一、问题&#xff1a; Dialog中有输入框时&#xff0c;显示后无法自动弹起软键盘&#xff0c;原因就不赘述了&#xff0c;自行Google。 一、解决办法&#xff1a; 开启独立线程&#xff0c;线程中使用while循环&#xff0c;循环调用弹起软键盘方法&#xff0c;直至showSoftI…...

【C++】C++入门1.0

鼠鼠最近在学C&#xff0c;那么好&#xff0c;俺来做笔记了&#xff01; 目录 1.C关键字(C98) 2.命名空间 2.1.命名空间定义 2.2.命名空间的使用 3.C的输入&&输出 4.缺省参数 4.1缺省参数概念 4.2.缺省参数的分类 5.函数重载 5.1.函数重载概念 5.2.C支持函数…...

springboot实现文件上传功能,整合云服务

文章目录 这是springboot案例的,文件上传功能的拆分,本篇将带大家彻底了解文件上传功能,先从本地存储再到云存储,全网最详细版本,保证可以学会,可以了解文件上传功能的开发文件上传功能剖析进行书写一个小的文件上传文件上传的文件三要素首先表单提交的方式要是 post方式,第二个…...

接口interfance的基本使用

一.为什么有接口&#xff1f; 接口:就是一种规则。 二.接口的定义和使用 1.接口用关键字interface来定义 public interface 接口名{} 2.接口不能实例化 3.接口和类之间是实现关系,通过implements关键字表示 4.接口的子类(实现类) 注意1&#xff1a; 接口和类的实现关系…...

Gitlub如何删除分支(删除远程分支+本地分支)

目录 背景 删除方法 总结 背景 想要删除自己在本地创建的并已上传到远程分支中的分支。 删除方法 1&#xff09;删除远程分支 git push origin --delete brannchname 2&#xff09;删除本地分支 先切换到其他分支 git checkout otherbranch 删除本地分支 git bran…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...