Code Complete'in kilit noktaları nelerdir? [kapalı]


72

Bir çok kişinin okumaya değer bir kitap olarak Code Complete'ten bahsettiğini duydum. Ne yazık ki, o kadar meşgulüm ki okuyacak vaktim yok, o yüzden kimse bana kitabın anahtar noktalarının ne olduğunu söyleyebilir mi?


49
Code Complete 2'nin 824. sayfasındaki kilit nokta, aslında programlama kitaplarını okumalısınız!
azheglov

@azheglov: Bu, Kod 2'den sonra okunması gereken 2. baskıdaki gibi mi yoksa Kod Tamamlandı 2'deki 2 ise mi?
Chris,

@Chris, neredeyse 4 yıl sonra: 2. basımdaki gibi 2, revize edildi ve güncellendi. Ve umarım bu arada
okudunuz

Yanıtlar:


83

Kod Tamamlama, yazılım işçiliği ile ilgilidir; Çalışma programcısı için yazılmış, ileri seviye bir başlangıç ​​/ orta seviye kitaptır, ancak yine de en az bir yıl boyunca programlama yapan biri için çok yararlı olacaktır.

Bu nedenle, Code Complete'in (2. basım) kilit noktaları, Yazılım İşçiliği Konusunda 34. Bölümünde güzel bir şekilde özetlenmiştir. Notlarımdan da anlaşılacağı gibi:

  1. Karmaşıklığı fethedin : aklınızdaki bilişsel yükü disiplin, kongre ve soyutlama yoluyla azaltın.
  2. Prosesinizi Seçin : Baştan itibaren (gereksinimler) bitirme (uygulama) ve ötesine (bakım) kadar kalite bilincinde olun.
  3. Önce İnsanlar, Bilgisayarlar için Programlar Yazın : kod okunabilirliği, anlaşılabilirlik, gözden geçirme yeteneği, hata oranı, hata düzeltme, değiştirilebilirlik ve bunun sonucunda geliştirme süresi ve kalitesi için son derece önemlidir.
  4. Kendi Dilinize Programlayın, İçinde Değil : Neyi Düşünün? ve neden? nasıl önce?
  5. Sözleşmelerin Yardımıyla Dikkatinize Odaklanın : sözleşmeler, ihtiyaç duyulan yere yapı sağlayarak karmaşıklığı yönetir, böylece nihai kaynak - dikkatiniz - etkin bir şekilde kullanılabilir.
  6. Sorunlu Alan Açısından Program : mümkün olan en yüksek soyutlama seviyesinde çalışın; üst düzey kod çözülmekte olan sorunu tanımlamalıdır. İşletim sistemi seviyesini, programlama dili seviyesini, düşük seviyeli uygulama yapılarını, düşük seviyeli problem alanı terimlerini ve son olarak (kodlayıcı olmayan) kullanıcıya tamamen anlam ifade edecek yüksek seviyeli problem-etki alanı terimlerini ayırt edin.
  7. Düşen Kayalıkları İzleyin : programlama sanatı ve bilimi birleştirirken, iyi uyarılarda bulunmak, uyarı uyarılarını da içine almak için hayati öneme sahiptir.
  8. Tekrar tekrar, Tekrar tekrar, Tekrar tekrar : tekrarlama gereksinimleri, tasarım, tahminler, kod, kod ayarlama.
  9. Sen Yazılım ve Din Asunder Rltt : eklektik ve deneyime istekli olun. Esnek olmayan bir zealot olmayın, merak ve öğrenmeyi engeller. Araç kutunuzda sadece bir çekiç bulundurmanın ötesine geçin.

Ancak en önemli adımlar 33. Kişisel Karakter : Kısaca kodlayıcı olarak gelişmeye çalıştığınızda, yapabilecek ve yapacaksınız. Bunu yapmanın en hızlı yolu , ana kodlayıcıların (alçakgönüllülük, merak, entelektüel dürüstlük, disiplin, yaratıcılık) tutumlarını ele almak ve aynı zamanda alışkanlıklarını (kitapta birçok iyi alışkanlık listelenmek, örneğin iyi değişken / değer seçmek ) almaktır. adları).

Ayrıca, kitap, yazılımdaki ortalama ve mükemmel arasındaki farkın çok büyük olduğunu ; bu gerçeği tek başına vicdani kodlayıcıyı kendisini daha iyi hale getirmeli.

Bu kısa; Uzun versiyon kitapta. :) Daha fazla ayrıntı istiyorsanız size çok uzun olmayan, çok kısa olmayan notlarımı da gönderebilirim. Ancak, yazma tarzı zaman zaman yorucu olsa da kitap kesinlikle para ve zaman harcanıyor.

Kodun Tamamlanmasının ötesinde, Pragmatik Programcı'yı şiddetle tavsiye ederim . Orta seviye programcılar için güzel yazılmış ve yüksek, orta ve düşük seviyeli tavsiyelerden oluşan harika bir karışım.


Orta seviye bir kitap olduğuna emin misin? "Kullanılmayan değişken isimlerini çıkarmayı unutma" gibi tavsiyelerle kolejin birinci veya ikinci yılında biri için harika, ama (IMO) orta düzeyde olan için oldukça basit görünüyor.
Colen

1
@Colen: Yorumunuz için teşekkürler, ileri düzey / ara kodlayıcılar için belirtmeliydim.
19.09'da limist

10
@Colen: Code Complete, karmaşık olanlarla karıştırılmış bazı basit konularla ilgilense de, kesinlikle yeni başlayanlar için değildir. Hemen hemen her seviyedeki herhangi bir geliştirici okumaktan faydalanabilir; Bazı "üst düzey" geliştiricilerin temelleri ne kadar az bildiklerini, özellikle de yalnızca bir dilde programladıkları ya da bir şirkette tüm kariyerleri için çalıştığı zaman şaşıracaksınız.
Steve Hill,

1
IMO kodunu eksiksiz doldurmanıza gerek yok - bu yüzden alıcı dikkatli olun!
BKSpurgeon

Bu, kitaptaki temaların iyi bir özetidir. Lütfen çok uzun olmayan, çok kısa olmayan notlarınızı paylaşır mısınız?
Akshay Khot,

18

Bir ara kitap, yazılım geliştirmenin en iyi uygulamalarından oluşan bir potpuri.

Eğer bir başlangıç ​​programcısıysanız, materyallerin çoğunu anlamayacaksınız ve deneyimliyseniz, kitap sadece bildiklerinizi doğrulayacaktır. Sonuç olarak, kitap, zaten biraz programlama bilgisi olan, ancak hepsini bir araya getirmek için en iyi uygulamalar kitabına ihtiyaç duyan, ara programcılar için en değerli olanı olabilir.

Kod bloklarının nasıl biçimlendirileceği ve her bir yaklaşımın göreceli değerleri üzerine birkaç sayfa harcanır. Şahsen, bence kaşlı ayraçlarınızı nereye koyacağınızla ilgili büyük tartışma bitti. (yoksa öyle mi?)


4
Sizin paranteziniz size bir artı kazandı. : p
Nathan Taylor

Kıvırcık ayraçları nereye koymalıyım?
Petah
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.