这十几年编程的不同认知层次——摘自聊天记录

2024-02-25 20:32

本文主要是介绍这十几年编程的不同认知层次——摘自聊天记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、指针很难用,考得很烦——指针很好用,正确的用法不会出错——引用效果更好

2、const干嘛的,多余——哦,可以这样用——还可以那样用——还真有效果——OMG,原来还可以这样用

3、异常是什么,好像经常说——我都工作几年了,还不知道到底有什么存在的意义——哦,原来是这样,这种情况下没它还不行——总结出错误处理机制

4、模板是什么,有用吗——坚持学一下,难懂又难用——哦,还真有地方离不开模板——自己写写小模板用——STL——boost——明白模板的价值,能在合适的地方用

5、总听说算法是灵魂——那些排序、查找吗——好像也没什么难的,自己写个库,把这些包含进去——晕,STL里面都有了——哦,数学真的有用,比如PID,插值——逻辑思维、思路清晰很重要

6、设计模式听起来很神,很羡慕——自己挂到嘴上装B——但自己怎么都找不到该用在哪里——哦,在上规模的框架级自己解决了一个很牛逼的问题,兴奋了半天,晕,原来是个模式——再看模式——最后发现GOF是招式,九大原则才是精髓

7、写什么注释,多余——哦,要给别人看,要求要写——找各种注释格式,写漂亮,写得多,甚至比代码多——好像有点儿问题,特别是代码更改后——零注释?!神经——哦,意思是代码是充分自注释的——真清晰,原来我也可以——接到8之后

8、一个main就做完了,分成几个函数,真多余——哦,好像是可以,特别是多次调用的地方——什么,就几行也单列一个函数——一行也单列一个函数?!真是刷我的下限——一个表达式一个函数?真要命——吃了亏才知道,一个表达式不全面,用剪刀和浆糊替换几十处——哦,小函数真NB——充分自注释的精髓啊——转7,小函数是零注释的一个必备基本功——当你想Ctrl+C的时候,请手下留情,让他变成小函数

9、耦合?怎么念——知道怎么读还是不理解,什么算耦合?——真恶心,我就想改一个小小的功能,竟然要在代码里替换几十处,心力交瘁啊,发给客户才发现还有一个地方忘记改了,再发一遍,还有一个地方,苦死啊——耦合太多了啊,哦,大概理解了,就是牵一发,而全身都动了——解耦,对解耦,记住了——A、以后我再也不多耦合了——B、一不留心又耦上了——A、B几十个轮回——终于不耦合了,哇哈哈——原来是一模式——模式的精髓之一就是解耦啊——好像明白了——感觉自己写的框架还算灵活,需求都两三次大变更了,自己的框架还撑得住——兄弟,你离中层的距离已经很近了。



摘自:http://topic.csdn.net/u/20120814/12/3095e99e-f9b5-4950-83f1-4a860fed1e60.html

这篇关于这十几年编程的不同认知层次——摘自聊天记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746619

相关文章

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow