I would like to get features spatial reference limitations of coordinate x and y by using snippet like:

sr = arcpy.Describe('my feature').spatialReference

dom=sr.domain.split()

xmin=float(dom[0])

ymin=float(dom[1])

xmax=float(dom[2])

ymax=float(dom[3])

...

But it seems don't work. For a WGS84 GCS, the result is xmin=-180, xmax=180, ymin=-90 but ymax=270 rather than 90, and more strange result for a WGS84 PCS. Does sr.domain is not proper for my needs?

It's pulling the spatial reference xy domain which is square. The lower left / minimum values are good, but the max values may be blown out to either make the extent square or to make the xy resolution value a reasonable number.

The -400 is to cover data that could be in -360 to 0 longitude range, with a very generous buffer added. We just used the same value for the minimum Y (latitude) value too.

These values are (in order):

minimum X, minimum Y, inverse of xy resolution;

minimum Z, inverse of Z resolution;

minimum M, inverse of M resolution;

XY tolerance;

Z tolerance;

M tolerance

True that the spatial reference is high precision versus the original "basic" precision.

The tolerance values are actually not good if the data is using a geographic coordinate system.

Wu Teshieng, you probably want the coordinate system's "projected horizon" but I don't think that's exposed in arcpy. Here's some of the methods in ArcObjects:

https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#iprojectedcoordinatesystem4_getpcshorizon.htm

The PCS horizon but in latitude/longitude. It is not guaranteed to be an inclusive horizon (it might be exclusive to show which part of the world can't be 'seen' in the particular PCS).

https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#iprojectedcoordinatesystem2_gethorizon.htm