搞开发的几乎每个人都遇到过这样的事情:修改一段别人写的代码,然后觉得这代码写的非常烂,一边加班加点的修改,一边不停的问候着作者的祖宗……
非常不幸,我最近也遇到了这个问题。仔细说起来,这件事情跟我也有一定的关系,当时review工作做的不好,以后也要更加重视这一部分的工作。
这次遇到的问题说起来也简单,就是过分的追求“重用性“,加上没有注释,导致在逻辑上非常难以理解,几乎看不懂。简单的来说,为了重用某一个页面,在这个页面上加了十几个if语句,if来else去的,从总体上来说,减少了页面的数量,但是具体到页面,太过庞大,太过臃肿。这样的架构,导致了这个页面出问题是必然的。而后面修改的人根本无从下手。
软件一般的特点是要降低耦合度,提高内聚度。而提高重用性是降低耦合的一个重要机制。所以大多数书里都在强调如何如何提高重用性。Kent beck在那本经典的《重构》里也提到过重用,是通过一个具体例子,对一段现有代码的重构过程中提到了重用性这个问题的。
大多数新员工也不太重视重用性这个问题,写出的代码能完成工作即可。也许这位同事是为了偷懒,也许是曾经看过这些书,在这个项目中,犯了一个非常重要的错误,为了提高所谓的那点重用性,导致整个功能的不可维护性,一点也不值!
分享到:
相关推荐
UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当...就从这个queue中取出单元格进行重用 本例可以解决单元格问题
《C++代码设计与重用》是一本专注于C++编程语言中代码可重用性问题的图书,由Martin D. Carroll和Margaret A. Ellis共同撰写。书中不仅探讨了代码重用的基本概念,还涉及了类设计、代码的扩展性、效率、错误处理、...
设计模式是解决常见编程问题的经过验证的解决方案,例如工厂模式、单例模式和观察者模式等。通过遵循这些模式,开发者可以避免重新发明轮子,同时确保代码的结构和可读性。 总结来说,C++通过类、继承、模板、标准...
综上所述,UG/NX重用库和产品模板的使用可以大幅度提升设计效率,减少重复性劳动,标准化设计过程,使得设计师可以更加专注于创新和解决设计中的核心问题。通过熟悉和掌握重用库及产品模板的使用方法,用户可以在 NX...
contentSize应该根据内容的实际大小来设定,确保UIScrollView可以承载足够多的内容,同时避免滚动性能问题。通过上述的设置,UIScrollView就可以在滚动时动态地加载和卸载内容,只保持当前屏幕上显示的内容被加载在...
软件模式是对常见问题的解决方案,具有通用性和可重用性。通过采用这些经过验证的模式,开发者可以避免重复发明轮子,同时保证设计的质量和稳定性。该文档可能涵盖了如何识别、选择和应用合适的软件模式,以及如何...
书中还探讨了与代码重用相关的其他关键话题,例如如何处理继承带来的问题,以及如何设计具有高移植性的代码,确保在不同的平台和环境中都能够正常工作。 总的来说,《C++代码设计与重用》是C++领域中关于代码重用...
为了提升设计效率和可重用性,开发出了一套可重用设计方法学,这一方法学在《片上系统:可重用设计方法学(第三版)》一书中得到了详细的介绍。 首先,可重用设计方法学的核心在于提高设计的可重用性。这意味着设计...
4. **设计模式的应用**:设计模式是解决常见问题的标准化解决方案,它们是经过验证的最佳实践。例如,工厂模式用于创建对象,单例模式确保一个类只有一个实例,装饰器模式动态地给对象添加新的功能,等等。应用设计...
良好的测试实践能够揭示代码中的问题,进一步改进代码质量,使之更容易重用。 10. **命名规范**:遵循一致的命名规范可以使代码更易读,从而提高可重用性。如使用驼峰式命名或下划线命名,清晰地定义变量、函数和类...
为了解决这个问题,UIScrollView借鉴了UITableView和UICollectionView的重用机制。 首先,理解ScrollView的重用机制,我们需要知道它的核心思想:按需加载。当用户滚动ScrollView时,只加载当前可视区域内的内容,...
书分为12个章节,每个章节都以理论知识结合实际案例的方式,详细阐述了在进行C++编程过程中应该注意的重用性问题,并在每章的结尾部分通过总结和练习来帮助读者巩固所学的知识点,以及通过推荐的参考文献和资料指明...
这个项目"Delphi 窗体重用"显然关注的是如何有效地复用和管理窗体资源,特别是在动态链接库(DLL)中的实现。DLL是一种共享代码的方式,允许多个程序共享同一段内存空间,从而节省系统资源并提高效率。 在Delphi中...
当列表数据量庞大时,如果不采取有效的优化措施,可能会导致性能问题,如滚动不流畅、内存消耗过大以及数据展示混乱等。这就是为什么我们需要理解并应用"列表重用机制",它是一个关键的性能优化策略。 列表重用机制...
在使用Fragment时,还需要注意几个常见的问题,比如内存泄漏、FragmentTransaction的管理、生命周期的同步以及Fragment之间的通信。合理地管理Fragment和Activity的生命周期,避免过度依赖和不必要的复杂性,可以...
最后,书中可能会包含大量实例,展示如何将这些理论应用到实际问题中,比如构建数据结构(如链表、树、图)、设计模式(如工厂模式、单例模式)的C语言实现,以及如何设计和实现复杂的系统接口。 总之,《C语言接口...
在iOS开发中,UITableView是一个常用的视图组件,...开发者在使用这一机制时,需要注意正确配置cell,避免数据更新不及时或旧数据残留的问题。通过合理利用cell重用,可以减少内存的使用,加快滚动速度,提升用户体验。
为了解决这个问题,该研究提出了一个基于LLVM的迭代间数据重用优化算法,旨在改进循环优化中数组引用的处理,提高编译器的性能。 迭代间数据重用优化是一种针对循环结构的技术,其核心思想是识别并利用循环迭代之间...
这些数据结构在解决各种问题时都有其独特的优势,例如,数组适合快速访问任何位置的元素,链表则方便插入和删除操作,栈用于处理后进先出的问题,队列则适用于先进先出的场景,而树和图结构则在处理层次关系和复杂...