zoukankan      html  css  js  c++  java
  • [干货]浅谈如何为变量命名

    本篇文章适用语言:python,c++,Java.(其实我就是随便bb)
    本文是比较针对于刚入坑的新手的,大佬勿喷.

    前言

    我是杨某人,点击右下方"+"一键关注我.如果你喜欢我的文章,那么拒绝白嫖行为.然后..请多来做客鸭.

    我们在编辑代码的时候,不免拿其他人的代码进行学习,或者将自己的代码拿给别人修改.这个时候,如何让别人快速读懂你的代码,是提升效率的关键,而且一个好的码风可以让自己读起来也赏心悦目.那么接下来我就会对这一部分进行讲解.

    变量命名

    我将码风分为两个部分,变量命名和代码书写.

    变量命名当中,最最最最恶心的一点就是拿拼音来为变量命名,你拿x,y,z都好过.什么书本的数量用"shuben",你是小学没学过吗?我幼儿园都会"book".不仅打起来麻烦而且让人感觉你很low.要是让我看见还让我给他改代码我就一拳上去.

    比如答案就用"ans"(answer),表示访问的不要用bj(标记),"flag","vis","visit"用着不香吗?拼音很容易让人不知道什么意思,常常过两天来看你自己都不知道.

    再者,比如循环变量i,j,k,实在不行加一个l,乱七八糟的不要用.abcxyz等最好不要在太多地方使用,n,m都可以.

    代码书写

    使我们的代码变得清晰美观的只有一个键--空格.空格的使用使代码变得不那么拥挤.

    比如在使用逗号的时候,可以将逗号后面留一个空格.其次,在"="前后也可以有空格,";"后面也允许用空格,"==","&&","||",">=","<="前后我都会加空格
    比如在for语句里,我经常这么写:for(int i = 1; i <= n; i++).

    但这不是强行要求,你可以在上面进行更改,只要你看着比较美观就好.

    示范

    随便copy一个同学的代码(来源:洛谷)

    #include<bits/stdc++.h>
    using namespace std;
    int x,sum;
    int cf(int a,int b){
        int z=1; 
        for(int i=0;i<b;i++){
            z*=a;
        }
        return z; 
    }
    void digui(int n){
        int y;
        if(n==0) return;
        for(int i=0;i<=15;i++){
            y=i;//进行储存
            if(cf(2,i)>n){
                y--;
                break;
            }
        }
        if(y==0) cout<<"2(0)";
        if(y==1) cout<<"2";
        if(y>1){
            cout<<"2(";
            digui(y);
            cout<<")";
        }
        if(n!=cf(2,y)){
            cout<<"+";
            digui(n-cf(2,y)); 
        } 
    }          
    int main(){
        cin>>x;
        digui(x);
        return 0;
    }
    

    其实这样我是不推荐的,下面是我更改码风过后的代码,当然,如果你使用Dev_C++d等编辑器进行阅读效果会更好:

    #include <bits/stdc++.h>
    using namespace std;
    
    int x, sum;
    
    int cf(int a, int b)
    {
        int z = 1; 
        for(int i = 0; i < b; i++)
            z *= a;
        return z; 
    }
    
    void dg(int n)
    {
        int y;
        if(n == 0) 
    	return;
        for(int i = 0; i <= 15; i++)
        {
            y = i;
            if(cf(2, i) > n)
    	{
                y--;
                break;
            }
        }
        if(y == 0) 
    	cout<<"2(0)";
        if(y == 1) 
    	cout<<"2";
        if(y > 1)
        {
            cout<<"2(";
            dg(y);
            cout<<")";
        }
        if(n != cf(2,y))
        {
            cout<<"+";
            dg(n - cf(2, y)); 
        } 
    }          
    int main()
    {
        cin>>x;
        dg(x);
        return 0;
    }
    

    现在我很无语,因为这家伙真tm用digui(递归)做函数名.
    我当场吐血.

    你用dg都好过digui.好吗?

    写在最后

    总之,这是我本人提的一些小建议,如果你喜欢我的码风的话,请支持一下本蒟蒻吧.(言外之意我想你不会不懂)

  • 相关阅读:
    预热buffer pool
    MySQL · 性能优化· InnoDB buffer pool flush策略漫谈
    事务并发控制
    LOAD DATA INFILE – performance case study
    隐式锁
    percona-xtrabackup安装
    mysql 表空间及索引的查看方法
    mysql用户权限
    mysql修改数据库名
    MySQL对innodb某一个表进行移动
  • 原文地址:https://www.cnblogs.com/ahann/p/12349267.html
Copyright © 2011-2022 走看看