在开发的道路上,就始终无法避开版本控制,哪怕你是独自一人进行开发,版本控制也是有必要的,从最早开始使用CVS,到后来使用SVN,再到git,最后又回到了SVN,但是不知道为什么真的对SVN很无爱。

  现在工作的地方,使用的是SVN,我每天都得把自己修改过的文件单独的提出来,然后以相同的目录路径打包好,然后提交到测试版本库目录下,然后再交由其他人用ftp对服务器上的文件进行覆盖

然而每天这样创建对应的目录创建文件都已经快把我逼疯了,幸好我自己写了一个脚本来自动的执行这个过程,但那是在我忍受了一星期那样繁琐而枯燥的工作之后,然后我不禁想起了当初使用git工具自动同步的更新代码的时光。每次写完代码之后,执行一下git commit 和git push命令,然后瞬间就同步到服务器了,也正是这种简单的过程,让我喜欢上了测试。

  这里我不得不介绍一下我的第一位BOSS---ES,我觉得是他帮我打开了这个领域的大门,他曾经一直反复的强调的习惯,依然响彻在我的耳边,尤其是在最近反复的看 了《The Progmatic Programmer》和《重构》,我越来越能感受到他当时的想法,是他让我在无意识的养成一些优秀程序员所应该具有的品质

  他没有告诉我该使用面向对象还是面向过程,而是直接让我学会使用设计模式

  他没有告诉我,我应该学会使用什么框架,而是直接告诉我,框架只是告诉你不该做什么,而不是能做什么

  他从来不去看我写的代码,只是反复的告诉我,千万不要重复你自己

  遇到难题的时候,他不会告诉我应该去什么地方寻找资料,仅仅说了一句简单的话:使用英文

  他总是的强调着,要做一个挑剔的程序员,不管是对自己的程序还是对生活

  他说,开发的过程应该是一种享受,而不是一种枯燥而又反复的繁琐过程,

  他喜欢用双屏显示器,喜欢用linux操作系统

  或许他不是一个好领导,但是我觉得他是一个优秀的程序员

  虽然当时我不能很好的理解他,但是现在我能够感受到他那种厌恶重复的心情

  学会使用git,拥抱github,融入bitbucket,告别不断覆盖文件的噩梦,Webhooks可以让你在使用git push的时候,请求bitbucket的webhooks去调用服务器上的.php文件,发送linux的shell命令去git pull远程仓库的代码,达到同步更新

我是一个懒惰的程序员,我只想告别重复,放飞思绪!

浅谈我的编程之路——感谢引领我的leader的更多相关文章

  1. 浅谈.Net异步编程的前世今生----APM篇

    前言 在.Net程序开发过程中,我们经常会遇到如下场景: 编写WinForm程序客户端,需要查询数据库获取数据,于是我们根据需求写好了代码后,点击查询,发现界面卡死,无法响应.经过调试,发现查询数据库 ...

  2. 浅谈.Net异步编程的前世今生----EAP篇

    前言 在上一篇博文中,我们提到了APM模型实现异步编程的模式,通过使用APM模型,可以简化.Net中编写异步程序的方式,但APM模型本身依然存在一些缺点,如无法得知操作进度,不能取消异步操作等. 针对 ...

  3. [转帖]浅谈响应式编程(Reactive Programming)

    浅谈响应式编程(Reactive Programming) https://www.jianshu.com/p/1765f658200a 例子写的非常好呢. 0.9312018.02.14 21:22 ...

  4. 浅谈Windows API编程

    WinSDK是编程中的传统难点,个人写的WinAPI程序也不少了,其实之所以难就难在每个调用的API都包含着Windows这个操作系统的潜规则或者是windows内部的运行机制…… WinSDK是编程 ...

  5. 浅谈PHP面向对象编程(二、基础知识)

    和一些面向对象的语言有所不同,PHP并不是一种纯面向对象的语言,包PIP它支持面向对象的程序设计,并可以用于开发大型的商业程序.因此学好面向对象输程对PHP程序员来说也是至关重要的.本章并针对面向对象 ...

  6. 浅谈C#网络编程(一)

    阅读目录: 基础 Socket编程 多线程并发 阻塞式同步IO 基础 在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践. Socket是一种网络编程接口,它是对传输层T ...

  7. 五 浅谈CPU 并行编程和 GPU 并行编程的区别

    前言 CPU 的并行编程技术,也是高性能计算中的热点,也是今后要努力学习的方向.那么它和 GPU 并行编程有何区别呢? 本文将做出详细的对比,分析各自的特点,为将来深入学习 CPU 并行编程技术打下铺 ...

  8. 新手浅谈Task异步编程和Thread多线程编程

    初学Task的时候上网搜索,看到很多文章的标题都是task取代thread等等相关,我也一直以为task和thread是一类,其实task是.net4.0提出的异步编程,在之前.net1.0有dele ...

  9. 浅谈iOS网络编程之一入门

    计算机网络,基本上可以抽象是端的通信.实际在通讯中会用到不同的设备,不同的硬件中,为了能友好的传输信息,那么建立一套规范就十分必要了.先来了解一些基本概念 了解网络中传输的都是二进制数据流.  2.了 ...

随机推荐

  1. java文档

    http://www.boyunjian.com/javadoc/com.dyuproject.protostuff/protostuff-me/1.0.5/_/com/dyuproject/prot ...

  2. 简述JavaScript函数节流

    为什么要用函数节流 浏览器中某些计算和处理要比其他的昂贵很多.例如,DOM 操作比起非 DOM 交互需要更多的内存和 CPU 时间.连续尝试进行过多的 DOM 相关操作可能会导致浏览器挂起,有时候甚至 ...

  3. Linux下ffmpeg的各种编解码器的安装

    首先要安装各种解码器 1.lame  tar -zxvf lame- cd lame- ./configure --enable-shared make make install 2.libogg  ...

  4. COGS 2437 暗之链锁 II 题解

    [题意] 给出一个有n个点的无向图,其中有n-1条主要边且这些主要边构成一棵树,此外还有m条其他边,求斩断原图的一条主要边和k条其他边使得图不连通的方案数mod109+7的值. 注意,就算你切断一条主 ...

  5. PHP--获取响应头(Response Header)方法

    方法一: $baiduUrl = "http://www.baidu.com/link";   file_get_contents($baiduUrl); $responseInf ...

  6. Extjs 组件共用(单例)问题

    说明: 将store初始化在类定义时便创建, store实例将成为该类的单例 代码: 测试: 说明: 将store初始化放入initComponent函数中.  每次都将创建一个新的实例. 代码: 测 ...

  7. Oracle占用8080端口问题的解决

    可能在本地同时安装过Tomcat和Oracle的人都会知道,安装完Oracle后,会发现Tomcat的8080端口已经被Oracle占用了. 完全安装Oracle数据库后,当我们访问8080端口时,会 ...

  8. C# 毕业证书打印《二》

    当证书的打印功能得以实现,最关键的功能便是数据. 通过对打印的了解,打印中最关键的功能便是打印事件中的方法. private void pd_PrintPage(object sender, Prin ...

  9. [20160731]read a file and print it on the screen

    //read a file and print it on the screen import java.io.*; public class MyPrintStreamTest2{ public s ...

  10. PDF.js

    http://www.linuxidc.com/Linux/2015-06/118728.htm http://blog.csdn.net/xiangcns/article/details/42089 ...