I'm trying to make a sword, but I ran into some weird shading on one portion of the blade.
Triangles are notoriously difficult to shade. Unfortunately, EVERYTHING gets turned into triangles by the renderer before rendering happens. Consequently, long, thin quads are also notoriously difficult to shade... because they're actually triangles once they get rendered.
Firstly, turn any triangles into quads. The renderer has a much easier time knowing which direction the quad should be split so that the triangles get smoothed the right direction, than it does trying to figure out which direction your triangle is supposed to be smoothed (without having come from a quad).
Secondly, make your quads as square as possible. It's not always necessary to make them perfectly square, but if you can add a couple of edge loops to make them shorter, that will probably help.
Lastly, (and I doubt this is the problem, but it's worth checking) recalculate your normals (ctrln or Mesh -> Normals -> Recalculate Outside) to make sure they're all facing the same direction.
Without knowing the purpose of your mesh (still render, animation, game asset, 3D printing) I just list the obvious problems here.
- You have double vertices in your mesh.
- You use flat shading on a non-flat surface.
- You should activate the clipping option in your mirror modifier.
- Instead of flat shading you should use sharp edges and an edge split modifier.
- The normals face inwards.
Overall, you should start with simpler shapes and raise the density later on by using a Subsurf or Multiresolution Modifier. If you have a mesh with a convex or concave surface, different mesh densities on the object almost always result in shading problems. This happens due to the fact that even a slightly bent surface will produce a visible line, no matter what shading method you use.