热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

多思考多实践,不要沦为码农

一天一天,一年又一年,我们到底都做什么,为自己留下了什么,收获了什么,成长了多少,让你记忆深刻的事是什么,让你最兴奋的事是什么,让你最想扇自己的事情是什么,它们的原因是什么。你是否思考的时间比写代码的时间长,每次开发的时候你的功能分析到什么程度你就开始写代码,你修改和重写的次数多吗,是否曾经因为将功能分析得非常透彻而让

一天一天,一年又一年,我们到底都做什么,为自己留下了什么,收获了什么,成长了多少,让你记忆深刻的事是什么,让你最兴奋的事是什么,让你最想扇自己的事情是什么,它们的原因是什么。你是否思考的时间比写代码的时间长,每次开发的时候你的功能分析到什么程度你就开始写代码,你修改和重写的次数多吗,是否曾经因为将功能分析得非常透彻而让你很快的把功能搞定。是否经常在没有搞清楚状况的时候就开始写代码,到现在为止你认真看了多少本很好的书籍。你的工作让你兴奋吗?兴奋吗?兴奋吗?

Follow me

C#搞了这么久(快3年了),怎么就是没有成为C#高手,3年了,怎么就没有相对的掌握一门语言,我都做了什么,每天都在干嘛,难道真的是个码农,整天忙碌的对着电脑我到底在干嘛,写重复的代码,按照别人的思路来完成功能,什么时候能对自己说,我要先认真的思考分析,至少要在搞清楚状况的情形下开始写代码,什么时候对别人说:FUCK,我想按照自己的思路来,我已经想了很久了,现在思路非常清晰,而且觉得还不错。

你是否总是在跟着别人的思路走,有意思吗,你有先思考过吗,什么时候能因为你早就知道怎么实现一个功能,且能很快的表达出来,而你的听众告诉你:请说慢点,你那个是什么意思,我还没有搞懂。总做一个执行者我受够了,我有我自己的头脑,我会思考。

多想一下,你会有更好的解决方案

很多时候我们都用了第一个想到的解决方案,它并不那么完美,虽然能满足基本的需求,它可能存在概率很小的BUG,它可能没有很好的扩展性。是的它让你完成了任务,但是你可能少了一次尝试新方案的机会,可能少了一次提高自己的机会,少了一次让自己兴奋和快感的机会,因为我们的大部分编码工作并不是那么的让人兴奋。当你一次次的不满足于第一解决方案时,你会发现:哦,原来,我不仅仅是一个码农,而是码农中码农。

学习当然就离不开书。书是人类进步的阶梯,有了梯子就可搭建第二层第三层。顺便推荐几本书:《代码大全2》(你能看懂,并且收获很多),《Effective C++》(有C/C++基础的C#程序员可以看看,这本书讲的都是写C++代码的准则,通过这本书你会明白++i的效率高于i++,字符串相加到底分配了几次内存,和C#有点不一样,多维数组是怎么实现的,还有内存管理和面向对象设计的一些理念),《CLR via C#》(C#程序员必看书籍,有家大公司公司用行动证明了这句话,除了算法题其他的都是这本书上的)。

属于自己的实战

很多东西我们是学来的,有时候真的不确定是否正确,但有一句话我认为一定是对的:尽信书,不如无书;纸上得来终觉浅,绝知此事要躬行。有些时候有必要自己去证实一下,比如有人说《软件随想录》这本书是陈太汉写的;有人说if else的效率比if高;有人说lambda的效率低,我就觉得lambda的效率比我自己写的代码效率高啊。那到底lambda的效率高不高呢,你用Reflector看一下源码不就知道了,写一些代码PK一下不就知道了。Reflector还真是个好东西,通过它你可以知道你一直在用的类和函数是怎么实现的,你可以知道微软的程序员是怎么写代码的,有了源码你还怕你学不会一个新特性吗,你还会怕有一段时间没有用了而忘记吗,你还怕别人问题你会不会用XXX吗,你还怕你不鄙视别人这样问你吗,你还怕你会进入这么问题的面试官所在的公司吗?你还真把我当码农啊,会不会用!(妈的,为什么高中作文的最后一段非要写这么烂的排比句才能拿高分,别问我为什么,实战证明的确如此)。

受够了实践,我要理论一下

为什么在我没有实践的情况下老师要教我那么多理论,他们在教我们空中花园是怎么回事,它是多么的美丽,会为我们带来什么好处便利。天啊,我不会飞,连梯子都不会搭,你总跟我说些云里雾里的东西,你到底有什么企图。现在我有自己蹩脚的梯子了,我想上一层,我要做第二层,第三层。。。谁来教我。我现在会用工具了,我有实践的经验了,我想把房子做得更好点,我更需要的是经过实战的理论。由于思考得比较少,总是在码代码,自己完全感觉不到,至少在一两个月内很难感觉到自己在进步,但是如果你有足够的实战,然后在看看一些经典的书籍,你就会有豁然开朗的感觉,在感觉书很好的同时,高兴的心情也让自己觉得自己进步了。

没有搞清楚状况按兵不动

你是否经常在没有搞清楚状况的时候就开始写代码,你是否经常在没有搞清楚状况的时候就发表言论,我会,但我很不喜欢这样的自己。我很欣赏林彪,要么不开口,一开口1,2,3,4,5,6,7,8;说得你目瞪口呆,服服帖帖,哦!原来是这样的啊。当你发现“哦,原来是这样的时候,你是修改你的代码还是重来一遍”。爱因斯坦有句名言是“思考,思考,再思考”。难道他真的是用一支笔搞出相对论的吗,NO,NO,NO,是思考。当然我们也不是用电脑搞出程序的,你懂的。

本文地址:http://www.nowamagic.net/librarys/veda/detail/1853,欢迎访问原出处。


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 如何在跨函数中使用内存?
    本文介绍了在跨函数中使用内存的方法,包括使用指针变量、动态分配内存和静态分配内存的区别。通过示例代码说明了如何正确地在不同函数中使用内存,并提醒程序员在使用动态分配内存时要手动释放内存,以防止内存泄漏。 ... [详细]
  • 本文介绍了自动化测试专家Elfriede Dustin在2008年的文章中讨论了自动化测试项目失败的原因。同时,引用了IDT在2007年进行的一次软件自动化测试的研究调查结果,调查显示很多公司认为自动化测试很有用,但很少有公司成功实施。调查结果表明,缺乏资源是导致自动化测试失败的主要原因,其中37%的人认为缺乏时间。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
key920721
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有