前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >除了语言本身,还有哪些技能或知识是必备的?

除了语言本身,还有哪些技能或知识是必备的?

作者头像
编程珠玑
发布2020-03-25 21:31:18
4140
发布2020-03-25 21:31:18
举报
文章被收录于专栏:编程珠玑编程珠玑编程珠玑

前言

作为C/C++开发,其语言的掌握自然是非常重要的,当然了,与此相关的算法,计算机基础,网络等知识也都是需要学习了解的,那么除此之外,还有哪些是建议掌握的呢?

Linux

这个我已经说到过了,作为C/C++开发, 很大程度都是需要和Linux打交道的,既然如此,那么最基本的命令掌握是必须的。公众号编程珠玑后台回复【linux】即可查看历史Linux相关文章。

画图

开发过程中,难免做方案,而方案中自然会涉及到架构图,流程图,时序图。一个好的图能够帮助你或者其他人更好地梳理和理解方案。你可以选择在线的 draw.io,http://www.processon.com,或者visio,Enterprise Architect(简称EA)。这一块也是我个人的弱项,欢迎留言分享你认为不错的画图工具。

版本控制工具

毋庸置疑,每个公司都有版本控制工具,也许你们用的svn,也许用的git,无论如何,你都需要一套工具管理维护你的代码,以便你随时吃后悔药。对于git学习,如果是基本的命令使用,网上随时可以查,但是如果想更进一步了解,建议阅读《pro git》,网址为:https://www.progit.cn/

构建工具

代码变成可部署上线的工程,同样需要构建工具,也许你使用最原始的makefile(认识makefile),或者Cmake,或者blade,或是bazel,都没有关系,根据项目实际情况或者自己喜好选择即可。不过仍然建议学习makefile,更能了解其构建过程,。当然,对于C/C++,你应该了解的是一些编译链接相关的东西,在公众号编程珠玑后台回复【编译链接】即可查看相关文章。

调试手段

大多数问题都可以通过日志,分析代码来解决,有时候,为了方便,还可以借助调试工具,例如GDB。 可以参考《GDB调试指南》。

单元测试

单元测试需要根据实际项目需求进行选择,要做单元测试,本身投入的时间可能比较多,但是长期来看是非常有利的。对于C/C++,可以了解google的gtest框架。这里不多说。

工具性语言

无论是做测试,或是写一个小功能,你都应该会一些工具性语言帮你干活,例如Python,Shell,它们的特点是出活快。这里我在《谈谈对Python的看法》中也已经说过了。

数据库

现代应用大多数都离不开数据库,而最常用的关系型数据库之一,非mysql莫属了,然而如果涉及缓存,分布式等,redis是一个不错的选择。NOSQL中,除了redis还有很多,但是redis目前应用广泛,使用ANSI C编写,其源码也非常值得学习借鉴,其中数据结构和算法的应用也会让你受益颇多,这里也推荐一本《redis设计与实现》,有兴趣的可以了解一下。

Markdown

无论是写总结还是周报,或是笔记,你都离不开记录,那么为什么要用markdown呢?我个人而言,我不喜欢在word中调格式,我只想专注我的内容,而且对于代码类的展示,markdow更加方便,除此之外,markdown格式还有以下好处:

  • 纯文本保存,却能展现丰富的格式,可以转换为html,pdf等格式
  • 所写既所得,不用过多专注格式
  • 语法简单易上手
  • 各大平台基本都支持,例如github,知乎等
  • 代码显示友好
#include<stdio.h>
int main(void)
{
    printf("hello\n");
    return 0;
}

公众号几乎所有文章都是markdown格式编写,然后借助工具渲染所得。对于客户端工具,可以尝试一下typora 。

总结

以上就是个人总结的除了C/C++语言本身以外的其他技术性技能,欢迎留言补充。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程珠玑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Linux
  • 画图
  • 版本控制工具
  • 构建工具
  • 调试手段
  • 单元测试
  • 工具性语言
  • 数据库
  • Markdown
  • 总结
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档