Kaynak kodu yazarken en iyi 80 karakter sınırlaması nasıl takip edilir?


15

Bildiğiniz gibi en iyi uygulama

Kaynak kod satırını 80 karakterle sınırlayın.

İşte 2 bağlantı:

80 karakter neden kod genişliği için 'standart' sınır?

80 karakter sınırı, geniş ekran monitör zamanlarında hala geçerli mi?

Ve eminim ki bu en iyi uygulamayı ararsanız daha fazla para cezası alabilirsiniz.

Ama bunu son derece zor buluyorum, işte örnek bir örnek:

public class MyClass {

    public void myMethod() {

        final Map<String, List<MyInterfaceHere>> myReference

Böylece her sınıfı, her yöntemi ve her ifadeyi girintilersiniz.

Ve zaten 'myReference'da son' e 'harfinin sonunda 60. sütundayım.

20 boşluk kaldı gerçekten yapıcı çağırmak ve sahip referansa nesne atayın.

Yani bu gerçekten daha iyi görünüyor:

public class MyClass {

    public void myMethod() {

        final Map<String, List<MyInterfaceHere>> myReference 
                = new HashMap<String, List<MyInterfaceHere>>(); 

Buradaki en iyi uygulama nedir?


6
Biz 140. yapmak daha küçük ekranlar ve daha küçük yazıcılar günlerinde 80 iyi olabilirdi
tgkprog 16:16

7
5/6 gibi Yaşam Sonu versiyonlarında olmadığınız sürece en iyi uygulama muhtemelen final Map<String, List<MyInterfaceHere>> myReference = new HashMap<>();(örneğin örneğinizdeki gibi girintili 80 karakter)
gnat

4
Bir meta-en iyi uygulama, yirmi yıl önceki en iyi uygulamaları körü körüne kullanmak değildir. 17 "CRT, 1280x1024 çözünürlükte spor yaptığında, daha düşük karakter sınırları mantıklıydı, ama bugün değil.
TMN

2
Ekranınızdaki tüm kullanılabilir alana yayılmak yerine dar metin sütunları kullanmanın bir yararı, birden çok kod parçasını yan yana kolayca görüntüleyebilmenizdir. 80 chars * 7 pixels/char = 560 pixels per file. Bu, iki dosyanın (1120 piksel) 1280 piksel geniş bir ekrana rahatça sığmasını veya 1920 piksel ekranda üç (1680 piksel) olmasını sağlar; her iki durumda da satır numaraları, kaydırma çubukları, işaretler ve diğer kullanıcı arabirimi öğeleri için fazladan alan bırakır . Ya da bazen biraz daha uzun bir çizgi.
8bittree

3
@ 8bittree İki monitörde kodu yan yana görebilirim. Tek bir monitörde geliştirmek, tek bir tekerleği olan bir araba sürmek gibidir.

Yanıtlar:


18

En iyi uygulama, bir hattın uzunluğunu, siz, tüm meslektaşlarınız ve kullandığınız tüm araçların bundan memnun olması için sınırlandırın, artı sağduyu olmalıdır. 80 karakter çok düşük görünüyor ve okunabilirliği azaltma eğiliminde. Bir kez tamamen böyle bir çizgi tarafından kandırdın:

/* Very long comment to the end of the line */ realCode ();

burada fonksiyon çağrısı ekranda görünmüyordu (hiçbir meslektaşın ekranında da görünmüyordu).

Düzenleyicimi 100 sütun kenar boşluğu gösterecek şekilde ayarladım, ayrıca kodu ekranda yeniden sarmaladım, böylece düzenleme sırasında her şey her zaman görülebilir ve aşırı uzun satırlar manuel olarak iki veya bazen daha fazla satıra bölünme eğilimindedir. Otomatik biçimlendirme yapıyorsa düzenleyicinizin bölünmüş ifadeleri güzelce biçimlendirdiğine dua edin. Derin iç içe ifadelere yol açmayan bir kodlama stili kullanın. (Bazı insanlar yirmi if-ifadesi yuvasını ve ardından yirmi başkasının kuyruğunu yaratır, bu da 200 karakter derinliğindeki girintiye yol açar ve kimse hangisinin hangisine ait olduğunu anlayamaz).

Özel durumunuzda Swift, bundan kaçınmanın bir yolunu icat etti: "let" değişkenine (diğer dillerde "final" ile hemen hemen aynı olan), kullanılmadan önce tam olarak bir kez bir değer atanmalıdır, ancak bildirimde olması gerekmez , zahmetli çizginizi iki bağımsız ifadeye bölebilirsiniz.

PS. 400'den fazla karakterden oluşan, gerçek yazılı kodlarla satırlarla karşılaştım. Başka bir deyişle, 24 inçlik bir monitörde bile, hattın geri kalanını okumak için yaşlar boyunca kaydırmanız gerekir. Eğlenmedim :-(


10
/* Very long comment to the end of the line */ realCode ();Diğer stil kurallarını zaten kırmış gibi görünüyor .
Robert Harvey

3
/* Very long comment to the end of the line */ realCode ();IDE'lerin yorumu ve kodu otomatik olarak ayrı satırlara yerleştiren kod formatlayıcılarına sahip olmasının bir nedenidir.

2
Aynı kaynaktan, "if (koşul) \ n \ tgoto çıkış; \ n \ tgoto çıkış;" yazan aynı kaynaktan geldi. Sadece birkaç yıl önce.
17.07.2016

Maksimum satır uzunluğunu 80 karaktere ayarlamanın, her şeyi tek bir çekimde yapmak için uzun bir metin satırı yazmak yerine beni işlevler ve sınıflar ve OO açısından düşünmeye zorladığını düşünüyorum. Başkalarının kolayca hazırlayabileceği programlar yazmamı sağlıyor. İkincisi, SV programlarında (programlarına göre) kendi dizüstü bilgisayarlarında çalıştığımı gördüm ve her zaman onlar için büyük ekranlar mevcut değil. Yani 80 karakter sınırında yazmak herkese yardımcı olur. Üçüncü olarak, büyük monitör ekranınızı birden çok bölmeye bölebilir ve aynı anda kodu görüntüleyebilirsiniz.
alpha_989

3

Evet, daha iyi görünüyor. Bu yüzden "Uzun çizgiler kullanma!" maxim çok güçlü.

En iyi uygulamalara gelince, bu korkunç uzun yapıcı ifadeleri asla asla kullanmam. Her zaman kullanırdım

public class MyClass {

    public void myMethod() {

        final Map<String, List<MyInterfaceHere>> yReference = newMap();

için uygun şekilde tanımlanmış, statik olarak içe aktarılan bazı değerler için newMap(). Java'da yerleşik sürümü olmayan ciddi bir kusur olduğunu düşünüyorum.


2

Kodun satır uzunluğunu / genişliğini zorlarsanız, bir araç kullanın.

  • resharper
  • Görsel Destek
  • vb.

Geliştiriciler makul bir uzunluğun ne olduğuna karar verir (80, 120, 200, vb.), Bu seçeneği araçta ayarlayın.

Bundan sonra, kodu satırın ne kadar geniş veya uzun olduğuna bakmadan normalde yaptığınız gibi yazın. İşlevsel ve bittikten sonra, sağ tıklayın ve Kodu Temizle'yi seçin veya benzer bir seçeneği seçin. Araç, kodu söylediğiniz gibi biçimlendirir ve belirtildiği gibi uzun satırlar keser.

Dikkatsiz ve kolay ve her kaynak dosya aynı şekilde biçimlendirilecektir.


1

Hedef "satırları 80 karaktere tutmak" değildir. Amaç "kodunuzun okunmasını ve anlaşılmasını kolaylaştırmak" tır. Yapay 80 karakter sınırı okunabilirliğe yardımcı olur, ancak ekibiniz karar vermedikçe zor ve hızlı bir kural değildir.

En iyi uygulamayı istediniz ve en iyi uygulama "kodu olabildiğince okunabilir hale getirmeye odaklanın". Bu 80'den fazla karakter gerektiriyorsa, öyle olsun.


1

Return tuşuna basmaktan korkmayın. Modern dillerin çoğu (örneğinizde olduğu gibi Java dahil) birkaç satırda çalışan ifadelerden oldukça memnun.

Çizgileri nerede kırdığınız hakkında biraz düşünün ve 80 sütun sınırına uyan ve hala mükemmel bir şekilde okunabilir bir şey elde edebilirsiniz. Resmi Java kodlama kuralları satırları kesmek için tercih edilen yerleri bile belirtir.

Sağa doğru, düzgünce kesilmiş bir çizgi, ekranın yanından kaybolan bir çizgiden çok daha okunabilir.


0

80 karakter limiti bu günlerde biraz fazla olabilir, ancak yardımcı olur. Kodun da iyi biçimlendirilmesi gerektiğini düşündüğüm tüm bu fikirleri kabul ediyorum. örneğin kod

/ * Satırın sonuna çok uzun yorum * / realCode ();

80 saat içinde olabilir ancak açıklamalar ve kod seçenekleri aynı satırda olduğu gibi karışıklık yaratır.

80 chr sınırına uymak ya da uymamak bireylerin seçimidir, ancak işler tek çekimde görünürse, programcılara ve diğer yorumculara da her zaman rahat bir görünüm ve his verecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.