《Effective C++》摘要

Date:
Categories: C++
Author: sysublackbear
Tags:

看了下《Effective C++》这本书,整理了下面的一些摘要。

Chapter0.导读

1.explict抑制隐式转换

例如:

class B {
public:
  explicit B(int x = 0, bool b = true);   //default构造函数,抑制隐私zh
}

2.理解拷贝构造和拷贝赋值的区别

class Widget {
public:
     Widget();                                                   //default构造函数
     Widget(const Widget& rhs);                    //copy构造函数
     Widget& operator=(const Widget& rhs);  //copy assignment操作符
     ...
};

Widget w1;          //调用default构造函数
Widget w2;          //调用copy构造函数
w1 = w2 ...

代码整洁之道的一些准则摘要

Date:
Categories: code
Author: sysublackbear
Tags: ,

好久没有更博了,之前一直在看python的其他库和一些进阶用法。 最近在看《Clean Code》,才疏学浅,整理一下一些常用的写代码应该注意的点吧。

1.命名

  • 名副其实;
  • 避免误导;
  • 做有意义的区分(a1,a2,i,j 这些变量名区分没有任何意义);
  • 使用读得出来的名称;
  • 使用可搜索的名称(以常量或宏代替魔鬼数字,MAX_CLASSES_PER_STUDENT = 7;)
  • 避免使用编码;
  • 成员前缀(人们会很快学会无视前缀或后缀,只看到名称中有意义的部分。代码读写得越多,眼中就越没有前缀。最终,前缀变作了不入法眼的废料,变作了旧代码的标志物)(不敢苟同
  • 接口与实现;
  • 避免思维映射;
  • 类名(类名不应该是动词);
  • 方法名(方法名应当是动词或动词短语);

重载构造器时,使用描述了参数的静态工厂方法名。例如:

Complex fulcrumPoint = Complex.FromRealNumber(23.0);

通常好于:

Complex fulcrumPoint ...

手把手搭建基于pelican的博客环境

Date:
Categories: pelican
Author: sysublackbear
Tags: ,

下面说一下我是如何搭建这个博客的,这个博客用的静态模板框架是pelican, 是一个基于python的一个框架,因为自己对python算是比较熟悉, 定制化对自己来说也没有那么难。

1.安装pelican和pip

pip这么强悍的python包管理工具,不可能错过了吧。

$ easy_install pip

此外,为了单独为pelican环境进行一个单独的沙箱隔离,最后也安装一个沙箱环境:virtualenv

$ pip install virtualenv

然后初始化沙箱环境

mkdir pelicanBlog
cd pelicanBlog
#设定沙箱环境名字venv
virtualenv --no-site-packages venv
source venv/bin/active

然后安装pelicanmarkdown

pip install pelican
pip install ...

Who am I

Date:
Categories: about me
Author: sysublackbear
Tags: ,

大家好,我是中大黑熊,人如其名,我来自中山大学。

这个博客使用的是基于python的Pelican框架,采用dev-random2的页面模板,极其简单地搭建在github上面,记录我在当码农路上的成长历程以及一些心得感悟。 早在大三我就在博客园上面写文章,主要在学校研究的是有关python的各种奇奇怪怪的库。

之前也用过jekyll短暂搭建过博客,也写过几个读书笔记,后面毕业加入工作了,刚开始在职场并不适应,忙于工作,渐渐地把博客给荒废掉了。

重拾博客的原因是某一天我看到两年前写的文章得到了有人学习了并提出感谢,我觉得我写的这些文章还是有意义的,我想如果我的一生能够为开源社区做点贡献, 为其他入门的程序爱好者一点入门的启迪的话,我这些文章还是有必要继续写下去,继续分享下去的,作为我作为过来人的成长历程。

毕业之后,我有幸加入鹅厂,并且进入了当年一夜成名的微信,但是我觉得这边技术氛围并不浓厚,微信随着自身做大,开始龙蛇混杂,开始体制僵化,当然,这也是 任何产品,任何组织架构做大的必须面对的弊端。所以,我觉得我需要工作以外的动力来刺激我不断前进。

对于我的技术之路,一开始我是在亦师亦友的元神带领下,开始进行php的开发,大三大概写了1年的php,后面转而研究python,在大三的暑假,我得到命运的眷顾,拿到了 鹅厂的offer,进入鹅厂,开始进行后台的开发,主要使用的语言有:shell/C ...