人月神话札记:削足适履

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/44942799 前言:所谓削足适履,就是把解决问题的办法弄得本末倒置,使用了错误的方式去解决问题,自然就得不到好的结果。
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/44942799
前言:所谓削足适履,就是把解决问题的办法弄得本末倒置,使用了错误的方式去解决问题,自然就得不到好的结果。那么如何才能更好的解决问题呢,对于本章,我已经反复读了5遍了,然而苦于自己的理解能力,我仍然一知半解,但是我必须要迈过这个章节,不然我在当前阶段下,就无法读完这本书,而下一章节可能就会告诉我更多有用的办法。对于本章我没有弄明白的地方,以后等我再次翻读本书的时候可能就会得到答案。

作为成本的程序空间

     我显然没有弄明白到底什么是程序的空间,也许作者是指程序运行时占用的内存空间、硬盘空间。不过有一句话是很明白的:“ 作为我们程序开发者来说,如果能够把程序对磁盘的操作提升到对内存的操作后,性能就会得到大幅度的提升”,这个在我负责的交易平台项目中就得到了验证,对于用户的持仓数据,如果都通过数据库的读写来完成,其性能就会很差,因为用户的持仓数据是实时的,并且是大量变化的,读写数据库的频率很高,这必然会造成性能的下降,那么行之有效的解决办法就是,把数据存储在内存当中,大量的读操作就通过内存来完成,写操作会同时更新数据库和内存数据,这样就会让性能得到大幅度的提升。那么问题来了,就目前为止,内存的价格远远高于磁盘的价格,然而我们不能只利用相对低廉的磁盘来取代内存,这个时候,必要的成本花费是值得的。

规模控制

     对于这个小节的内容,是我无法弄明白的地方,就只能把我认为作者想要表达的记录下来:
  1. 和指定驻留空间预算一样,应该制定总体规模的预算;和制定规模预算一样,应该控制后台存储访问的预算。
  2. 在指明模块有多大的同时,确切定义模块的功能。
  3. 对于项目中的优化,不仅仅是要程序员对自己负责的内容进行优化,同时要有从整体上正视项目的觉悟。

空间技能

     作者提到有两个技能,一个是用功能交换尺寸,另外一个是考虑空间-时间的折中。对于功能和尺寸的关系,对于用户,我们提供的功能有很多,如果细分到每一个功能显然会带来更大的成本,如同我们在京东上买东西的时候,如果不满足79元(银牌会员,原来是59,扯淡的成了79),就要多付额外的运费,也就意味着适当的捆绑功能组成一个小组,其成本就会降低。虽然我还没有弄明白空间-时间的折中问题,但是我很喜欢作者的两个方法:
  1. 在编程技能上进行培训,之前我在富士通的时候,就曾负责过对新人的培训,这个办法很好,因为一个有些经验的前辈通过一个小型的培训,会让很多新人在短时间内得到很好的技能提升。
  2. 在编程技术上积累,就是说开发并且积累很多团队所能共用的组件包。

数据的表现形式是编程的根本

     这里,作者的观点我依然非常的认可,“ 技艺上的改进往往是战略上的突破,而不仅仅是技巧上的突破,而战略上的突破来自于数据或者表的重新表达”。我觉得这些话真的非常的有用,很多时候,如果我们只是不断强迫自己去挖掘数据,而没有一个行之有效的表格整理,效率就会非常低,而如果通过表格去观察数据的时候,往往就能得到突破。之前我在研究数据丢包的问题时,使用了大量的数据对比,通过输出数据把我想要找的问题定位出来,从而解决了数据丢包的情况。
相关文章
|
11月前
|
算法 Go
【LeetCode 热题100】73:矩阵置零(详细解析)(Go语言版)
这篇文章详细解析了力扣热题 73——矩阵置零问题,提供两种解法:一是使用额外标记数组,时间复杂度为 O(m * n),空间复杂度为 O(m + n);二是优化后的原地标记方法,利用矩阵的第一行和第一列记录需要置零的信息,将空间复杂度降低到 O(1)。文章通过清晰的代码示例与复杂度分析,帮助理解“原地操作”及空间优化技巧,并推荐相关练习题以巩固矩阵操作能力。适合刷题提升算法思维!
335 9
|
机器学习/深度学习 数据可视化 测试技术
YOLO11实战:新颖的多尺度卷积注意力(MSCA)加在网络不同位置的涨点情况 | 创新点如何在自己数据集上高效涨点,解决不涨点掉点等问题
本文探讨了创新点在自定义数据集上表现不稳定的问题,分析了不同数据集和网络位置对创新效果的影响。通过在YOLO11的不同位置引入MSCAAttention模块,展示了三种不同的改进方案及其效果。实验结果显示,改进方案在mAP50指标上分别提升了至0.788、0.792和0.775。建议多尝试不同配置,找到最适合特定数据集的解决方案。
3636 0
|
11月前
|
传感器 算法 数据安全/隐私保护
基于PI控制算法的异步感应电机转速控制系统simulink建模与仿真
本课题研究基于PI控制算法的异步感应电机转速控制系统,利用Simulink建模与仿真。PI控制器结合比例与积分部分,实现快速响应和稳态误差消除。系统通过速度传感器反馈实际转速,经SPWM调制驱动电机,形成闭环控制。仿真中设置不同参考速度(如600->800、1500->2200等),验证系统性能。模型基于MATLAB 2022a开发,适用于电机高效稳定运行的研究与应用。
|
11月前
|
数据采集 移动开发 算法
【硬件测试】基于FPGA的QPSK调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现QPSK调制与软解调系统,包含Testbench、高斯信道、误码率统计模块,并支持不同SNR设置。硬件版本新增ILA在线数据采集和VIO在线SNR设置功能,提供无水印完整代码及测试结果。通过VIO分别设置SNR为6dB和12dB,验证系统性能。配套操作视频便于用户快速上手。 理论部分详细解析QPSK调制原理及其软解调实现过程,涵盖信号采样、相位估计、判决与解调等关键步骤。软解调通过概率估计(如最大似然法)提高抗噪能力,核心公式为*d = d_hat / P(d_hat|r[n])*,需考虑噪声对信号点分布的影响。 附Verilog核心程序代码及注释,助力理解与开发。
340 5
|
11月前
|
分布式计算 物联网 虚拟化
《深度揭秘:软总线如何实现异构网络组网及其独特优势》
软总线技术是解决异构网络组网难题的关键力量,通过协议抽象与归一化、总线中枢智能解析、动态拓扑构建及设备虚拟化管理等方式,实现高效互联。它降低开发复杂度,提升设备兼容性与扩展性,保障数据传输的高效性与稳定性,为万物互联提供坚实支撑。在智能家居、智能工厂和交通等领域,软总线展现出强大优势,推动多设备协同与智能化发展,助力数字化转型与未来创新。
528 3
|
机器学习/深度学习 自然语言处理 算法
《深度解析:全连接层—卷积神经网络中的关键纽带》
全连接层在卷积神经网络(CNN)中起着桥梁作用,将卷积层和池化层提取的局部特征整合为全局特征,实现分类或回归任务。每个神经元与前一层所有神经元相连,通过权重和偏置进行特征转换,并引入激活函数以增强非线性建模能力。尽管参数量大易导致过拟合,但可通过正则化、Dropout和批标准化等技术有效应对,从而提升模型性能。
1256 8
|
Ubuntu
避坑指南之 Samba4在Ubuntu20.04 编译安装指南
避坑指南之 Samba4在Ubuntu20.04 编译安装指南
1052 0
避坑指南之 Samba4在Ubuntu20.04 编译安装指南
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
315 0
|
人工智能 运维 安全
亚太唯一!阿里云无影再度入选Gartner魔力象限
亚太唯一!阿里云无影再度入选Gartner魔力象限
378 1
|
Ubuntu 安全 搜索推荐
为什么企业喜欢用cenOS而不是ubuntu
为什么企业喜欢用cenOS而不是ubuntu
408 0