注意:这里的程序设计特指针对代码的设计活动。
我遇到很多人。
能严格约束自己,在开发前进行严谨的程序设计活动的人,很少。
之前我一直坚持写代码前做类协作设计,后来我基本放弃了。只做必要的接口设计、数据库设计。基本上按此要求团队开发。开发的大多功能经过测试和修改后,是能满足用户要求的。
但是,今天我突然想到,系统里有一个庞然大物,一个常用的功能(cmdb 导入/导出),里边的代码可以说是,混乱开发的代表,现在又不得不进行修改,我不由得担心,这么改下去,得多长时间,才能运行稳定。
代码我看过,巨大的方法、混乱的方法划分,一个逻辑竟然会跨越几层方法调用,怪异的数据结构...。这些都是代码无上层合理设计的结果。最终导致维护异常困难。于是我想通了一件事。
我们这些搞应用开发的,刚入行就是搞搞增删改查,问题规模都很小。设计工作就显得多余。一群这样成长起来的程序员,搞出来的软件,混乱程度和问题规模是成正比的。也许恰好,大多应用开发的问题规模,使得靠本能、延迟时间、降低质量勉强能覆盖住。所以就看到大量的开发人员的开发是可以没有设计方法的。
而对于问题规模巨大的功能,如果想开发好、想长期维护,进行程序设计将是必要条件。
程序设计作用?
改善代码质量
应对问题规模巨大的功能。
问题规模小的功能,是不是必须有好的代码质量?
不是。因此不进行程序设计软件仍旧可以做出来,但是开发效率会有差别、代码质量差也会引起问题。
问题规模小的功能,不进行程序设计,是不是代码质量就不好?
不是。对于熟练掌握设计方法的程序员,问题规模较小的程序,直接写代码,质量也很好。但我觉得这是对那些经历过程序设计的人来说的。
要不要强制要求程序设计?
不要。
一是对于小规模问题,的确不必要。
二是大部分人没有程序设计意识。推行这个会付出很大成本,但可能作用不大。
分享到:
相关推荐
作者都是长期供职于Intel公司的资深软件工程师和结构师,书中融入了他们自己丰富的软硬件开发经验,可以为面向多核体系结构进行并行程序设计的开发人员提供巨大的帮助。不论对从未接触过并行程序设计的开发人员,...
为什么要学习程序设计?学习程序设计可以帮助学生掌握基本的编程技巧和算法思想,提高问题解决能力和逻辑思维能力,掌握计算机科学技术的基础知识。 为什么选择C语言?C语言是一种高效、灵活、可移植的编程语言,...
《c++ builder 6程序设计教程(第二版)》系统地介绍了在windows环境下利用c++ builder进行应用程序开发的方法,主要内容包括c++ builder常用组件的使用、mdi多文档应用程序设计、文件操作与文件管理、数据库应用程序...
* 为什么需要计算机语言?计算机语言解决了人和计算机交流的语言问题,使得计算机和人都能识别。 * 高级语言的特点: + 高级语言的数据结构要比汇编和机器语言丰富。 + 高级语言与具体机器结构的关联没有汇编以及...
目前Linux系统己很普及,但是介绍在Linux上进行开发的书籍并不多,Linux程序设计权威指南为Linux上进行应用开发提供了详细的参考资料。Linux程序设计权威指南内容包括Linux开发环境、Linux编程的入门知识、系统和...
张玉生编写的《C语言程序设计》双色版是一本针对初学者的C语言理论教材,它包括了C语言的基础知识、语法结构、数据类型、控制结构、函数、指针、数组、字符串等核心技术内容。该教材不仅适合自学,同时也适合作为...
Java语言程序设计是指使用Java语言进行软件开发的过程,涉及到软件设计、编程、调试和测试等方面。 以下是从给定的文件中生成的相关知识点: 1. Java基本语法:Java语言程序设计中,基本语法包括变量声明、数据...
《MFC Windows程序设计》(第2版)(修订版)的作者,Jeff Prosise,用其无与伦比的技巧向读者讲述了MFC程序设计中的基本概念和主要技术再次阐释了在32位Windows平台上进行了快速的面向对象开发的完美方法。《MFC ...
本书由在计算机程序设计方面有着丰富教学和实践经验的中外作者合作编写。共分14章内容,由浅入深全面介绍C 程序设计方法。本书通俗易懂,例子贴近生活,尤其强调读者的亲自参与意识。所有实例经过精心挑选。每章都为...
标题《Java Web程序设计教程》与描述《Java Web程序设计教程 Java Web程序设计教程》中的知识点主要涵盖了Java Web应用开发领域的核心技术与实践。本书作为21世纪高等学校计算机规划教材,由范立锋与林果园共同编著...
在《C程序设计(第五版)学习辅导》中,介绍了使用Visual Studio进行C程序开发的步骤,包括创建项目、编写源程序、编译、调试和运行。在Visual Studio 2022中,这个过程类似,涉及新建项目、添加源文件、编辑代码、...
第三部分的上机实验指导部分为学习者提供了如何使用汇编器、连接器、调试器等工具进行程序设计和调试的实操经验。 【标签】汇编 教程 【部分内容】本教程在第一部分为初学者提供了基础知识和技能,包括汇编语言...
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于...
- **调试**: 利用DEBUG工具或IDE进行程序调试。 ##### 1.2 常用DEBUG命令的功能 - **A**: 输入一条或几条汇编指令。 - **D**: 显示内存区域的内容。 - **R**: 显示寄存器内容。 - **G**: 执行程序直到遇到断点或...
C++之父编写,我在学习C++过程中...以基本概念和基本技术为重点:与传统的C++教材相比,《C++程序设计原理与实践》对基本概念和基本技术的介绍更为深入。这会为你编写有用、正确、易维护和有效的代码打下坚实的基础。
1. **书籍概述**:《Windows程序设计(第5版 珍藏版)》是一部经典的Windows编程指南,自出版以来已经帮助近50万名Windows程序员入门并成长为技术专家。 2. **目标读者**:适合任何层次的Windows程序员,无论是初学...
学习者将学会如何使用这些工具进行程序调试,并了解程序优化的技巧。 9. 实例程序和习题解答:书中提供了大量的实例程序和习题,这些实例往往涵盖了从基础语法到高级应用的各个层面,是学习Fortran 95不可或缺的一...