2.when we use WKey or Knife to subdivide, Blender breaks down some original faces to generate trifaces. These faces are often arranged ugly and need to be reconstructed by hand. How to only subdivide the edges and leave the regeneration work to ourselves?
You can’t, as Blender does not yet support polygons with more than 4 verticies (n-gons).
For now you either have to accept the triangular faces or convert them into rectangles either manualy (usually best) or with Alt+J in edit mode (select all verts first).
Have you tried Loop Subdivide or Face Loop Cut? (Ctrl+R),(K)
These might be a better way to get the detail you want.
There are also Ngon’s in Blender now, limited but useful. Like take a tube, select all the verts at one end, hit Shift F to make the ugly faces, then hit F to make an Ngon that covers the end nicely with no leaks.