Một điều tôi tiếp tục thấy ở đây là thảo luận về "mã xếp hàng" và thụt lề. Tôi muốn chỉ ra những điều sau:
- tám khoảng trắng sẽ luôn dài gấp đôi bốn khoảng trắng trong bất kỳ phông chữ nào.
- hai tab sẽ luôn dài gấp đôi một tab ở bất kỳ phông chữ nào.
- bất kỳ số nhận dạng nào trên một dòng sẽ luôn có cùng chiều rộng trên dòng tiếp theo ... bằng bất kỳ phông chữ nào!
- chắc chắn, nếu đồng đội của bạn đang sử dụng monospace và bạn thì không, nó sẽ trông khác ... nhưng bạn nên chuẩn hóa một thứ gì đó - bất kể nó là gì - và nếu điều đó đúng thì nó sẽ giống nhau đối với mọi người. .. trong BẤT KỲ phông chữ nào! Để cười, bạn cũng có thể thử giữ mọi người ở chế độ monospace và cho một nửa trong số họ xem màn hình rộng ... xem mọi việc diễn ra như thế nào.
- Nếu bạn đang làm bất cứ điều gì dựa vào việc sắp xếp mã dựa trên vị trí cột của những ký tự đó trên màn hình, chứ không phải phạm vi của số nhận dạng bạn đang sử dụng, tôi cho rằng những gì bạn đang làm là một vụ hack. Số nhận dạng không bao giờ được giới hạn trong một số ký tự nhất định với cái giá phải trả là chất lượng tên của chúng. Bên cạnh đó ... bạn vẫn không vẽ các hộp ASCII với dấu hoa thị cho nhận xét trong mã của bạn, phải không?
Vì vậy, vẽ tất cả những điều này lại với nhau, nếu bạn bắt đầu mỗi dòng ở cùng một vị trí và khoảng cách nhất quán có cùng chiều rộng và các mã nhận dạng không tự động thay đổi chiều rộng trên mỗi dòng, thì mã của bạn thực sự SẼ thẳng hàng! ... cho đến khi có gì đó khác.
ví dụ:
identifier.Method().Property.ToString();
identifier.Method().OtherGuy.ToString(); //how lined up and pretty!
identifier.Method().Sumthing.YouGetThePoint;
- định danh.Method (). property.ToString ();
- định danh.Method (). OtherGuy.ToString (); //Ôi không! bị lệch!
- định danh.Method (). sumthing.YouGetThePoint; //...nhưng, ai quan tâm? chúng thuộc tính khác nhau!
Một điểm tôi thừa nhận là các ký tự không phải chữ và số thường không rộng lắm; chúng bao gồm) (] [} {,: | "; ',`! và. Tuy nhiên, điều này có thể được khắc phục trong trình chỉnh sửa phông chữ ... chỉ đơn giản bằng cách làm cho chúng rộng hơn. Đó không phải là vấn đề cố hữu với non-monospace; chỉ có hasn 'không có nhiều nhu cầu cho nó, và vì vậy nó vẫn chưa được thực hiện.
Tóm lại, sở thích cá nhân là tốt, nhưng tôi nghĩ có rất ít lý do thực tế để thích monospace hơn không monospace. Bạn thích giao diện của nó? Chắc chắn, hãy tạo monospace. Bạn muốn nhiều thứ khác phù hợp với màn hình của mình? Đi không đơn âm. Nhưng cách mọi người đối xử với không gian đơn nguyên như dị giáo hơi bị thổi phồng.