缩进代码的最佳方法

问题描述 投票:0回答:1

关于使用制表符还是空格进行缩进存在长期争论。关于缩进应使用多少空格也存在争议。此外,人们认为不应在一行中混合使用制表符和空格。此外,每个人都使用不同的编辑器和他们的缩进偏好。而且在阅读别人的代码时常常会导致混乱。但是,我认为最好的做法是混合使用制表符和空格。
这是一个例子:(使用制表符缩进,4个空格)

if x_valid_file != None and y_valid_file != None:
\t--mdl.fit_generator(train_generator, steps_per_epoch=len(cp_x_train_line_offset),
\t--\s----------------validation_data=validation_generator, verbose=1,
\t--\s----------------validation_steps=len(fix_y_valid_line_offset), epochs=training_epochs,
\t--\s----------------callbacks=[EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto')])

编写代码时,我希望每个参数都可以与第一个参数对齐,这样非常容易阅读。
1.我认为混合制表符和空格是实现这一目标的唯一方法。
2. 你可能会说使用所有空格可以实现这一点,但我对此表示怀疑,因为许多编辑器会自动检测缩进并转换为用户的偏好。
这是另一个例子:(使用 4 个空格缩进)

if x_valid_file != None and y_valid_file != None:
\s--mdl.fit_generator(train_generator, steps_per_epoch=len(cp_x_train_line_offset),
\s--------------------validation_data=validation_generator, verbose=1,
\s--------------------validation_steps=len(fix_y_valid_line_offset), epochs=training_epochs,
\s--------------------callbacks=[EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto')])

当其他人使用制表符缩进(8个空格)打开此文件时,代码如下所示:

if x_valid_file != None and y_valid_file != None:
\s--mdl.fit_generator(train_generator, steps_per_epoch=len(cp_x_train_line_offset),
\t------\t------\t------validation_data=validation_generator, verbose=1,
\t------\t------\t------validation_steps=len(fix_y_valid_line_offset), epochs=training_epochs,
\t------\t------\t------callbacks=[EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto')])

它会导致两个问题。首先,4个空格不能转换为制表符。其次,论点不一致。
但是通过使用我的方式,代码看起来像这样,作为第一块代码很容易阅读。

if x_valid_file != None and y_valid_file != None:
\t------mdl.fit_generator(train_generator, steps_per_epoch=len(cp_x_train_line_offset),
\t------\s----------------validation_data=validation_generator, verbose=1,
\t------\s----------------validation_steps=len(fix_y_valid_line_offset), epochs=training_epochs,
\t------\s----------------callbacks=[EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto')])

另一个优点是该方法可以应用于任何其他编程语言,并且不会破坏代码的结构。
你同意我的观点还是我错了?
注意:我的编辑器是 sublime text。

indentation
1个回答
0
投票
try {
  const filePath = `monFichier.txt`;
  await new Promise((resolve, reject) => {
    res.status(200).sendFile(filePath, options, (err) => {
      if (err) {
        reject(err);
      } else {
        resolve();
      }
    });
  });
} catch (error) {
  Logger.error(error);
  next(error);
}
© www.soinside.com 2019 - 2024. All rights reserved.