我有很强的Java / Groovy背景,并且已被分配给一个为管理软件维护大量C代码库的团队。
Java Web服务已经外部化了一些痛点,例如处理数据库中的Blob或生成PDF和Excel中的报告。
但是,作为Java开发人员,我对代码的某些方面感到有些困惑:
- 它很冗长(尤其是在处理“异常”时)
- 有很多巨大的方法(很多2000行以上的方法)
- 没有高级数据结构(我很想念List,Set和Map)
- 无需关注(SQL在代码中充满欢乐)
结果,我觉得企业隐藏在大量的技术代码中,而我的大脑(由面向对象和少量的功能编程所塑造)并不轻松。
该项目的好处是代码简单明了:没有框架,没有运行时的字节码操作,也没有AOP。并且服务器可以通过使用比Java吐出“ hello world”所需的内存更少的内存,在一台计算机上同时回答10000多名用户。
我想学习如何根据公认的现代原理编写C代码。关于如何编写和构造现代C,是否有任何公认的原则?
有点像“有效Java”书的等效内容,但适用于C。
根据答案和评论进行编辑:
- 我将尝试使我的思维方式适应C代码,而不是尝试将其镜像到OOP。
- 我已经开始从评论中扫描推荐的编码风格指南(GNU编码标准和Linux内核编码风格)。
- 然后,我将尝试向我的同事提出这种代码样式。最困难的部分可能是说服同事,将巨大的方法拆分为较小的部分,并且借助一种方法可以避免重复相同的4行错误处理代码。