Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用换行符的公认最佳实践_Java_Code Organization - Fatal编程技术网

Java 使用换行符的公认最佳实践

Java 使用换行符的公认最佳实践,java,code-organization,Java,Code Organization,作为一名非常优秀的软件工程师,我正在努力确保自己养成良好的习惯。在显示输出时使用换行符的挑战似乎非常简单(我敢肯定,对于那些经验丰富的人来说),但是在整个代码执行过程中在不同位置显示输出的程序中,通常应该如何使用换行符呢 示例(假设语言为java): 很明显,如果所有信息都要打印出来,那么所有这些信息都会一起运行。因此,随着程序的增长,并且认为错误也需要输出信息,换行符是否应该放在程序的开头、结尾或任何决定的位置?有一个高级功能“面向方面的编程”。 Spring框架有一些内置的东西 尝试搜索它,

作为一名非常优秀的软件工程师,我正在努力确保自己养成良好的习惯。在显示输出时使用换行符的挑战似乎非常简单(我敢肯定,对于那些经验丰富的人来说),但是在整个代码执行过程中在不同位置显示输出的程序中,通常应该如何使用换行符呢

示例(假设语言为java):


很明显,如果所有信息都要打印出来,那么所有这些信息都会一起运行。因此,随着程序的增长,并且认为错误也需要输出信息,换行符是否应该放在程序的开头、结尾或任何决定的位置?

有一个高级功能“面向方面的编程”。 Spring框架有一些内置的东西


尝试搜索它,学习如何使用它,并在函数中添加一些注释,它将通过一个简单的
@MyLogStuff

处理“进入函数”和“退出函数”,我看到很多代码都是为了记录调用的每个方法的每个入口点和出口点而编写的,这不是一个好的编程实践(有些人对此感到惊讶)

只有在调试异常时,您才会发现此信息有用。但是在抛出异常之前调用的每个方法的跟踪都已经在异常的堆栈跟踪中可用,这使得这种日志记录是多余的


只有在异常处理已经有问题的地方,它才有帮助。例如,通常的方法是记录并忘记(对某些人来说,这就是异常处理),而不认真考虑异常是否应该升级,甚至停止执行,而只是简单地将异常与catch(异常e){//nothing every}一起吃掉。

你不是在写一本书。对于每一个语句,IMO都应该有一个换行符。对于显示标题、表格数据和酷的ASCII艺术,按照格式要求进行。另外,看看日志框架。是的,我不知道该问什么问题。尽管我读过很多书,也上过很多课,但我从未见过有人讨论过这个问题。
public class output
{
   public static String usage = "usage: message";

   public static void main(String[] args)
   {
      System.out.println("Starting program");
      checkData();
      System.out.println("Ending program");
   }

   public static void checkData()
   {
      System.out.println("Data checked");

      # Assuming this method causes an exception
      try
      {
         more code...
      }
      catch(IOException ioe)
      {
         System.out.println(ioe.getMessage());
         System.out.pritnln(usage);
      }
}