How the code works if i declare variable before factory registration

Hello, sir

I saw third-party’s testbench declare variable before using factory macro.
Some documents guide coding-style factory macro need to be used top of code.
Is there any difference between A and B?

Thanks

-A-
class A extends uvm_object;
uvm_reg reg_common[$};
`uvm_object_utils(A)

endclass

-B-
class A extends uvm_object;
`uvm_object_utils(A)
uvm_reg reg_common[$};

endclass

In reply to hyunseok bang:

It doesn’t matter, but style -B- is preferable since it makes it easier to match up the class name A with the macro argument. Even more preferable when using parameterized classes.

Note that if you use the field automation macros, you must declare the field variables before the macro.