【发布时间】:2012-11-07 08:14:37
【问题描述】:
在我们公司,我们正在努力遵循编码约定,我的一些前辈告诉我一些编码约定,其中大部分是我知道的,它们很好,但其中之一是相等对齐,整体对齐相等代码看起来有点奇怪。我知道在我们专门在配置值中进行一组赋值时,我们通常会进行相等对齐。喜欢:
$params = array(
'dbdriver' => $dns['scheme'],
'hostname' => (isset($dns['host'])) ? rawurldecode($dns['host']) : '',
'username' => (isset($dns['user'])) ? rawurldecode($dns['user']) : '',
'password' => (isset($dns['pass'])) ? rawurldecode($dns['pass']) : '',
'database' => (isset($dns['path'])) ? rawurldecode(substr($dns['path'], 1)) : ''
);
或喜欢:
var $next_link = '>';
var $prev_link = '<';
var $last_link = 'Last ›';
var $uri_segment = 3;
var $full_tag_open = '';
var $full_tag_close = '';
var $first_tag_open = '';
var $first_tag_close = ' ';
var $last_tag_open = ' ';
var $last_tag_close = '';
var $first_url = ''; // Alternative URL for the First Page.
var $cur_tag_open = ' <strong>';
var $cur_tag_close = '</strong>';
var $next_tag_open = ' ';
var $next_tag_close = ' ';
var $prev_tag_open = ' ';
var $prev_tag_close = '';
var $num_tag_open = ' ';
var $num_tag_close = '';
var $page_query_string = FALSE;
var $query_string_segment = 'per_page';
var $display_pages = TRUE;
var $anchor_class = '';
但是当我们在普通代码中加载库、实例化值、调用方法并在变量中获取响应时,仍然应该有相等对齐吗? 就像有 ec2class 的构造函数:
public function __construct(array $options = array())
{
$this->api_version = '2012-07-20';
$this->hostname = self::DEFAULT_URL;
$this->auth_class = 'AuthV2Query';
return parent::__construct($options);
}
或这样的地方:
$this->CI->load->library('awslib');
$s3 = new AmazonS3();
$bucket_name = ($is_private) ? 'private_s3_bucket' : 'public_s3_bucket';
$bucket = $this->CI->config->item($bucket_name);
$options = array(
'fileUpload' => $file_path,
'acl' => AmazonS3::ACL_PUBLIC
);
try {
$response = $s3->create_object($bucket, $file_name, $options);
} catch (Exception $e) {
echo "<pre>";
exit($e);
echo '</pre>';
}
所以在最后两个例子中,平等对齐真的很重要吗?有没有这样的标准?因为我认为当它混合了实例化库、加载其他东西、有条件地分配值时,可能是相等对齐并不重要,因为我认为它对我来说更具可读性,请告诉是否有一些标准然后请在许多框架和库等中提供一些参考。每当这些语句中存在混合和赋值时,我从未将相等对齐视为这样的地方。所以请告诉。
【问题讨论】:
-
我不太明白你想要什么。以这种方式编写仍然可以生成有效的代码,如果它是您的公司希望您遵循的编码约定,那么它是否是许多框架和库中使用的约定并不重要。我自己并没有发现它更具可读性,但我知道有人用相等对齐方式编写他的代码,因为他发现它更具可读性,但我们公司没有强制执行任何一种方式的约定。
-
我实际上只是想知道 = 符号的这种对齐方式确实对可读性有任何影响,当它用于在 config.文件,但在正常编码中对齐是否有用,其中也使用混合操作,如实例化对象后的赋值等。和条件等?
-
我认为这取决于人,因为我说我认识这样做的人,因为他们说这对他们来说更具可读性,但我看不到它。所以我像第一个例子一样写我的,但我和第二个例子一样写的人一起工作。您可以通过编码标准强制执行任何一种方式,但我认为对于更易读的内容没有明确的答案。