《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-12项目配置(Configuration)管理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

本节书摘来异步社区《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》一书中的第2章,第2.12节,作者:邱毅凌,更多章节内容可以访问云栖社区“异步社区”公众号查看

02-12项目配置(Configuration)管理

嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜

137f9e82658c6646891993feb28f2b3193ec9e92

项目配置(Project Configuration)这个名词听起来有点玄,简单的说,就是项目资产的管理。以嵌入式系统开发项目来说,当一件项目结束后,有哪些资料可以变成有用的组织资产呢?所谓组织资产就是有利于以后项目的资料,最直觉联想到的就是‘程序代码与技术文件’,除此之外,更重要的应该是‘开发轨迹’。例如:

项目的全貌,包含产品规格与设计规格。
项目原始的计划(第一版计划书),以及项目运行期间所有曾经做过的变更。
设计阶段的任何重大转折点、与项目运行期间技术上的重大突破。
软件开发期间曾经遇到哪些问题(如bug),解决的方式是什么?对应的程序代码是哪些?
重要软件版本或项目里程碑(项目进度表时间检查点)所代表的意义,以及该时间点项目状况的快照(Snapshot:以软件系统来说,所谓的Snapshot就是当时的版本)。
硬件设计与生产阶段的问题履历及解决方式。
在嵌入式系统项目中,所谓的‘开发轨迹’其实就已经包含了计划书、规格、设计文件、程序代码和问题清单(可能是bug管理server的database备份),为了将这些宝贵的资料保留下来,必须在项目运行期间做好配置管理。其实配置管理并没有想象中复杂,各位在项目中都有使用版本控制server、bug管理server,以及定时的统一备份文件等,这就是在做配置管理,只是在我管理的项目中,会更明确地指派相关工作,通常我会请系统团队的小组长帮忙,而且我个人也会随时监督。

关于配置管理最容易被忽略的就是配置管理可以在项目运行期间发挥极大的功效,可让项目成员了解自己在做什么,也能随时追溯到任意一个时间的状态,但配置管理更大的目的却是让项目技术与管理资产可以不断累积,特别是在项目结项阶段人员鸟兽散时,就有待项目主管们能够定下心来将这些信息整理与归档。

各位是否经常在从事开发工作时碰到以下问题?‘这个模块以前好像做过,但程序代码不知道在哪里’、‘这是一个REOPEN的bug,之前在某个版本是OK的,但现在怎么也调不出那个版本’、‘实在搞不懂当初为什么要这样设计,看code也看不懂,但目前仅存的设计文件居然是旧的’。如果这是你们项目运行的常事,应该不难想象这样的‘常事’到底浪费了多少企业宝贵的研发资源。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
646 0
|
6月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
562 0
|
2月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。
|
4月前
|
Java 应用服务中间件 Linux
Tomcat运行日志字符错乱/项目启动时控制台日志乱码问题
总结: 通过以上几种方法,概括如下:指定编码格式、设置JVM的文件编码、修改控制台输出编码、修正JSP页面编码和设置过滤器。遵循这些步骤,你可以依次排查和解决Tomcat运行日志字符错乱及项目启动时控制台日志乱码问题。希望这些建议能对你的问题提供有效的解决方案。
817 16
|
5月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
158 23
|
6月前
|
前端开发 JavaScript 程序员
鸿蒙开发:console日志输出
针对初学者而言,大家只需要掌握住日志打印即可,等到了鸿蒙应用开发的时候,还有一个鸿蒙原生的打印工具HiLog,到时,我们也会详细的去讲述,也会针对HiLog,封装一个通用的工具类。
179 11
鸿蒙开发:console日志输出
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
6月前
|
数据库连接 测试技术 Windows
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
|
9月前
|
人工智能 监控 算法
3D-Speaker:阿里通义开源的多模态说话人识别项目,支持说话人识别、语种识别、多模态识别、说话人重叠检测和日志记录
3D-Speaker是阿里巴巴通义实验室推出的多模态说话人识别开源项目,结合声学、语义和视觉信息,提供高精度的说话人识别和语种识别功能。项目包含工业级模型、训练和推理代码,以及大规模多设备、多距离、多方言的数据集,适用于多种应用场景。
1712 18
3D-Speaker:阿里通义开源的多模态说话人识别项目,支持说话人识别、语种识别、多模态识别、说话人重叠检测和日志记录
|
9月前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
2206 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决