Soru:
Eski projeleri sürdürmek istemediğimi nasıl açıklarım?
Mr Den 12
2019-07-05 14:44:51 UTC
view on stackexchange narkive permalink

Şu anda Hollanda'da 3 yıllık deneyime sahip bir programcı olarak çalışıyorum. Başlangıçta sıfırdan başladığım bazı projelerde çalıştım ve bunlardan gerçekten keyif aldım. Ayrıca diğer projelere biraz destek olarak davrandım ve mevcut projeleri düzeltme ve iyileştirme konusunda adil bir pay aldım.

Ancak, son 6 aydır, benden önceki 5 programcı tarafından 6 yıldan uzun süredir geliştirilmekte olan bir proje üzerinde çalışmaya başladım. Proje kağıt üzerinde bitti, ancak gerçekten dağınık bir şekilde yapıldı ve her hafta, genellikle haftalarımı harcamak zorunda olduğum yeni bir hata ortaya çıkıyor. Diğer programcıların da bildiği gibi, başka bir kişinin kodunu anlamak kolay değildir, özellikle de belge yoksa.

En azından söylemek gerekirse, ondan nefret ediyorum. Kullanıcılardan birinden "hata" veya "hata" gibi bir şey içeren bir posta gördüğümde üzülmeye başladığım noktaya geldim. Artık bunu yapmak istemiyorum.

Sorum: yöneticimden beni başka bir projeye koymasını istemek mantıklı olur mu çünkü ihtiyacım olan işi gerçekten sevmiyorum şimdi yapmalıyım ve bunu nasıl söyleyeceğim?

Hepimizin mükemmel kod ürettiğimizi düşündüğünü biliyorum, ancak zihinsel bir egzersiz olarak, başlangıç projelerinizi sürdüren kişiyi hayal edin.Bu kişi bunun hakkında ne der?
Bilginize, eski koda sahip olmayan yepyeni bir proje üzerinde çalışma kavramı için ortak bir terim [* greenfield *] (https://en.wikipedia.org/wiki/Greenfield_project) (versus [* brownfield *] (https: //en.wikipedia.org/wiki/Brownfield_land)).
Haftalarca ne tür hatalar üzerinde harcamak zorundasın?
@MrDen12 150 kullanıcıları çok küçüktür, ancak küçük bir kullanıcı tabanına sahip olmak nadir değildir.
Birkaç hafta / ay önce böyle bir sorumuz olmadı mı?
@jpmc26 Nihayet ilk seferinde anladığım kodu yazan biriyle çalışıyorum.Bu harika!Dosyaları açıyorum ve "Bu yazdığım gibi görünüyor, ama yazdığımı hatırlamıyorum" diye düşünüyorum ve hep aynı kişi tarafından yazılıyor.Umarım sen de bir gün kınamını bulursun ;-)
Şöyle görün: bu proje 6 yaşında.1 yıllık yeni kod ve 5 yıllık bakım.üzerinde çalıştığınız her yeni proje için 5 eski proje üzerinde çalışacağınız anlamına gelir.Yani, bu var.
@alephzero: Görünüşe göre ilk gün yeni bir projeye dahil olmak ve on yıl üzerinde kalmak istiyor.
Kodu yeniden düzenleyin ve birim testleri yazın, böylece yeni değişiklikler eklemek çok kolaydır.
@422_unprocessable_entity Bazen kodu yeniden düzenlemek bir seçenek değildir (çok büyük olabilir, çok karmaşık olabilir veya OP kodun tek koruyucusu olmayabilir ve bunu yapma yetkisi olmayabilir).
"Hey patron. Çalışmayı sevmediğimi anladım. Onun yerine beni biraz eğlenebileceğim bir projeye koyabilir misin?"
Herkes sıfırdan kod yazmayı sever.Ancak işin azınlığı budur (en azından çalıştığım yerlerde, mevcut sistemleri genişletmek daha yaygındır).Bu nedenle, bu seçim görevleri en iyi ve en deneyimli mühendislere gider (bu temel görevleri yapabileceğinizi kanıtlamanız ve onlar için başkalarına karşı rekabet etmeniz gerekir).Şikayet etmek sizi başka bir projeye taşıyabilir, ancak yine de yeni bir proje olma olasılığı düşüktür.Yeni bir şirkete geçmek, eski sistemlerinde kendinizi sıfırdan kanıtlamak anlamına gelir.
@bob - Sorunları ele almanın teknik yolunun harika bir örneği için Micheal Feathers'ın 'Eski Kod ile Etkili Çalışmak' klasiğine bakın - Yönetim baskısına ve kültürüne karşı değişiklik yapmak için 'yetki eksikliğinin' kabul etsem desadece çalışmasını sağlamak için mümkün olduğu kadar az 'üstesinden gelinmesi zor bir engeldir.
@jpmc26 150 kullanıcıları çok küçük değil.Sektöre bağlı olarak büyük bir ürün olabilir ... Sadece belki 10 kişi tarafından kullanılacak sistemler üzerinde çalıştım (aslında şu anda bunlardan biri için kod gözden geçiriciyim).Milyonlarca kişinin kullandığı sistemler üzerinde de çalıştım.
@jwenting Ne kadar yüke sahip olacağınız ve ne kadar kullanıcı geri bildirimi alacağınız bağlamında çok küçük.Küçük bir kullanıcı tabanını destekleyen bir projede yanlış bir şey yoktur, ancak maliyet / fayda değiş tokuşları çok farklıdır.Özellikle, yük tipik olarak çok az endişe vericidir ve iyileştirme ve iyileştirme için harcanan zaman çok daha düşük getiriye sahiptir.
On altı yanıtlar:
Stig Tore
2019-07-05 14:57:45 UTC
view on stackexchange narkive permalink

Maalesef, BT'de çalışırken kural bakımdır, çok nadiren yeni projeler olur ve insanlar projelerde düzenli olarak yeniden görevlendirilir. Ve profesyonel yaşamınızda korumanız gereken kodun kalitesi büyük ölçüde farklılık gösterse de, hiçbir zaman yeni 2-6 aylık bir proje gibi kokmazlar.

Ancak yapabileceğiniz şeyler var belki hayatınızı ve geleceğinizi biraz daha yaşanabilir hale getirmek için yapın. Mevcut projeyi zihinsel olarak modüllere ayırarak başlayıp, daha katı kodlama standartlarına uygun olarak bunları teker teker yeniden düzenlemek veya yeniden yazmak için izin istemekle başlayacaktım. Yazdığınız veya geliştirdiğiniz her şey hakkında bol miktarda test yazdığınızdan emin olun.

Bu, çalışma hayatınızın yavaş ve istikrarlı bir şekilde geliştiğini görmelidir, çünkü bu yaklaşım uygulamaya daha aşina olmanızı sağlayacak ve parçaların okunabilirliğini artıracaktır. ve böcekleri daha az yaygın hale getirir.

Bunun sahibine / lideri / patronuna nasıl satılacağı, kurumsal yapıya ve ilgili kişilere bağlı olarak büyük ölçüde değişir. Ancak bu sizin için gerçekten dayanılmazsa ve bir şeyleri iyileştirme gücünüz yoksa, o zaman farklı türde bir iş bulmak daha iyi olabilir.

Genel olarak, danışmanlar genel olarak daha fazlası üzerinde çalışacak gibi görünüyor yeni kodlar ve bir projeden diğerine geçme konusunda daha fazla esnekliğe sahipler veya öncelikle yeni (imsi) uygulamalara odaklanıyorlar.

Ancak, eski kod her zaman seçtiğiniz mesleğin bir parçası olacak, ve bununla iyi geçinmeyi öğrenmeniz ve bu gerçekle yaşamanız gerekecek.

Güzel cevap.Eklenecek küçük bir parça: Eğer kodu yeniden işlerseniz, bir sonraki zavallı kişiyi şu anda içinde bulunduğunuz durumda bırakmamak için uygun belgeleri de eklediğinizden emin olun.İlk önce kodda wtf'nin olup bittiğini anlamak zorunda kalan yeni biri tarafından kaybedilen zamana, üreten hataların miktarına, vs. patronunuza / patronlarınıza doğrulayın.
Ayrıca yeniden düzenlemenin kendi başına büyük bir görev olması gerekmediğini de eklemek istiyorum.Siz ilerledikçe geliştirme sürecinin bir parçası olmalıdır.Çok nadiren büyük bir kod bölümünü yeniden yazmak için bir hafta sürebilirsiniz, ancak 4 saatlik bir görevin parçası olarak birlikte çalışmanız gereken şişirilmiş bir işlevi yeniden düzenlemek için 15 dakikanız görevin bir parçası olarak kabul edilmelidir.
Danışmanlık, her zaman yeni şeyler üzerinde çalışacağınız anlamına gelmez, ancak bakım sözleşmelerini geri çevirme seçeneğiniz olduğu anlamına gelir.Bunun cüzdanınız için iyi olup olmadığı elbette başka bir konudur.
Herhangi bir şeyi yeniden yazma izninin verilmiş olmasını ummuyorum.Bazı geliştiriciler kodun kötü olduğunu düşündüğü için bu ASLA gerçekleşmez.Yönetimin yaşadığı gerçek bir sorun ve fikrini satabilecek güçlü bir kıdemli teknisyen olmalı.Çok nadir örnek.
"Yeniden yazma" için -1.https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ "Refactor" gitmenin yoludur.
@ivan_pozdeev Genel olarak, yeniden yazmanın mümkünse kaçınılması gereken bir şey olduğu konusunda hemfikir olsam da, bazı şeyler çok ileri gitti ve yeterince kötü bir karmaşayı yeniden düzenlemek, onu sıfırdan yeniden yazmaktan * çok * daha maliyetli (bkz: pragmatik programcı).
@Dirk Kesinlikle katılıyorum, ancak bazı durumlarda sağlayabileceğiniz mutlak en iyi belgeler iyi testlerdir.
Bu yanıtla ilgili sorun, yeni kodun her zaman yazılmasıdır, bu nedenle eski geliştiricilere ihtiyaç duyulduğu gibi, yeni kod yazma ve çalıştırma konusunda iyi olan geliştiriciler de öyle.Dahası, mutsuz olmak, uzun vadede OP'lerin kariyerine zarar verecek kötü performans anlamına gelir.Sevdikleri görevleri veya işleri bulmak daha iyidir.
@StigTore, yeniden yazma olmadan sürdürmek için çok ileri giderse, onu yeniden yazma çabası için muhtemelen çok ileri gitmiştir.Özellikle yeniden yazmaya paralel olarak tutulması gerekeceğinden, bu, sürekli hareket eden bir hedefe karşı yeniden yazdığınız anlamına gelir.
@jwenting Bu modülü / parçayı yeniden yazmak çok uzun sürerse, bu arada değiştirilmesi gerekiyor, o zaman yeniden yazmak için seçtiğiniz bölüm çok büyüktü.Ön çalışmanın bir kısmı, yeterince küçük bir "modül" tanımlamaktır.
@StigTore, özellikle eski sistemlerde söylemesi yapmaktan daha kolay.Genellikle yükseltmeler, kod boyunca yan etkilerle birlikte tüm temel alanların kaldırılması anlamına gelir.Örneğin.Geçen yıl yükseltmekte olduğum 15 yıllık bir sistem, uygulama sunucusunun yükseltilmesini gerektirdi, bu da veritabanı erişim kitaplığının yükseltilmesini gerektirdi, bu da bağımlılık enjeksiyon çerçevesinin yükseltilmesini gerektirdi ve bu da EJB sürümünün yükseltilmesini gerektirdi.milyondan fazla satırlık bir uygulamanın kodunun yaklaşık üçte birinin yeniden yazılmasını gerektiriyor.
Borgh
2019-07-05 15:00:47 UTC
view on stackexchange narkive permalink

Evet, müdürünüze işinizden zevk almadığınızı söylemeniz ve eğlenceli bir şey istemeniz mantıklı.

Bu müdürün sizden bunu ısrarla istemesi de makul. Yapılması gereken bir iş vardır ve iş her zaman eğlenceli olamaz.

İyi bir yönetici, yararlılığınızı ve onlar için çalışma isteğinizi yaktıklarını fark edecek ve yapmaya çalışacaktır. farklı projelere biraz zaman ayırmanızı ayarlayın, ancak bu garanti değildir! Bu işi yapabilen tek geliştirici sizseniz, orada sıkışıp kalabilirsiniz.

Bu eylem tarzına yardımcı olmak için, zamanınızı harcamak isteyeceğiniz bir şey hazırlamak iyi bir fikirdir: başlattığınız projeler, belki başka bir proje veya hatta becerilerinizi geliştirmek için bir kurs. Bu, bir isteği Plana dönüştürmeye yardımcı olur .

Kötü bir yönetici, "aptalca şeylerden şikayet ettiği" için size kızar, bu mantıksızdır, ancak ilk siz olmazsınız geri itme almak için.

Bunu önlemek için işi Eğlenceli Değil yapan şeylerin somut bir listesine sahip olun: aptal hatalar, tekrarlanan bildirimler, yorumlanmamış kod. Bu, bir şikayeti Geri Bildirime dönüştürür ve sorularınızın daha makul görünmesini sağlar.

"* iş her zaman eğlenceli olamaz *" +1 sadece bunun için.Her şey eğlenceli olsaydı, * bunu yapmak için para almamıza gerek kalmazdı *.
@MadHatter Tersine, başarının sevdiğiniz bir şeyi bulmak ve onu yapmak için para kazanmak olduğunu söyleyen bir söz vardır.
@Barmar, hayal kırıklığına neden olan sözlerden biridir.İşlerinin her aşamasından zevk alan insanlar çok nadirdir, bu yüzden bunu hedeflemek hayal kırıklığına yol açar.Yolda düz parçalar olduğu sürece, her işin hız darbelerine * sahip olduğunu kabul etmek, genel yaşam keyfiniz için çok daha iyidir. *
@Borgh * Her * aşamadan keyif almayı bekleyemezsiniz.Bilgisayarları seviyorum ve onlarla çalışmam için bana para ödeyen uzun bir kariyerim oldu.Arada sırada hevesli olmadığım işler yapmak zorunda kalsam da, çoğunlukla eğlenceliydi.Bu, paraya ihtiyaç duymasa kimsenin yapmayacağı hendek kazmak veya çöp taşımak gibi değildir.
"aptal böcekler, tekrarlanan biletler, yorumlanmamış kod." Evet, ama şimdi kendinizi yöneticinin yerine koyun.Bu sorunlar hakkında hiçbir şey yapamazlar - kod tabanında aptal hatalar ve kötü kodlar vardır.Bunları düzeltmek programcının görevi.Bir müdüre böyle bir liste getirmek, bir kapıcının bütün gün ortalığı karıştırdığından şikayet etmesi gibidir ve onu temizlemeye devam etmeleri gerekmeseydi harika olmaz mıydı?İşte iş bu.Bu şeyleri düzeltmek, geliştiricilerin şu anda kadrosunda bulunanların sorumluluğudur.
Demek istediğim, bir yöneticiye bir problem sunacaksanız, eğer onları bir kenara koymak istiyorsanız, masaya en azından kısmi bir çözüm getirseniz iyi olur.OP'nin bu sorunlarla kimin ilgileneceğini * beklediklerini * bulması gerekir.Cevap, iş için başka 'daha iyi' bir insan olmadığı ise, o zaman sadece sızlanıyorlar ve bu işin üstesinden gelmeyecek.
@J ...: Arkadaki kodun gerçek kalitesini ölçmek için şikayeti göremediğim için hayal kırıklığına uğradım.Çok sayıda aktif geliştirme gören bir kod tabanı hakkında bu şikayetler aldık.Önümüzdeki yıl nihayet kullanımdan kaldırılacak olan eski kod tabanı hakkında şikayetler aldık.Her geliştiricinin emekli olduktan birkaç yıl sonra yaşlı bir adamı işe almasına kadar bir yıl içinde istifa ettiği başka bir kod tabanı hakkında bu şikayetleri aldık.Emekliliğe yakın olan erkekler, sonu olmayan işleri umursamıyor.
@MadHatter: Evet, her zaman eğlenceli olsa bile bana ödeme yapmalısın.Çünkü, bilirsiniz, 1) hayatım sınırlı ve kendimi zaman ödenmiş olarak tanımlamadığım zaman, 2) her zaman daha eğlenceli olacak bir şey var ve 3) ödemem gereken faturalar var.Ama bedavaya çalışmak istersen, sadece eğlenceli olsa, belki kişisel asistanım olmak istersin?Sadece eğlenceli görevler, söz verdi.
@Barmar, aksi halde doğru olan argümanınızı raydan çıkarmamalı, ancak kazma veya inşaatla gerçekten eğlenen bazı insanlar tanıyorum.
sf02
2019-07-05 17:01:20 UTC
view on stackexchange narkive permalink

Sorum: Şu anda yapmam gereken işi gerçekten sevmediğim için yöneticimden beni başka bir projeye koymasını istemek mantıklı olur mu ve bunu nasıl söylerim?

Hayır, makul olmaz. Bir programcı olmanın bir parçası da var olan programları, özellikleri ekleyip kaldırarak veya hataları düzelterek sürdürmektir. Sıfırdan başladığınız bazı projelerde çalıştığınız için şanslıydınız ama her projenin böyle olmasını bekleyemezsiniz. Bazen, bir süre için, işletmeler sıfırdan başlatılan yeni projelere ihtiyaç duymaz (bu, bir daha asla olmayacakları anlamına gelmez) ve sadece mevcut projeleri sürdürmeleri gerekir.

Ne yapmalısınız? mevcut projenizin sahipliğini almaktır. 6 yaşında olduğunu ve üzerinde başka 5 programcının çalıştığını unutun. Dağınıksa ve hatalarla doluysa, projeyi düzeltmek için inisiyatif kullanın. Bu proje üzerinde çalışmak zorunda kalmaktan şikayet etmek ve size farklı işler atamak yerine projeyi başarılı bir şekilde istikrarlı bir duruma getirirseniz, kesinlikle yöneticinizin gözünde daha iyi görüneceksiniz.

Bazen gerçekten sadece emip işini yapmalısın.Diğer ülkeler adına konuşamam ama burada Hollanda'da yazılım geliştiricilere büyük bir talep var.Genel olarak yöneticiler ve şirketler sizi işinizden memnun etmeye çalışacaktır.Mevcut projenizden memnun olmadığınızı ifade etmek hiç de mantıksız değildir, çünkü birkaç şeye yol açabilir: tükenmişlik, artan stres veya işi bırakma.İşverenler bunu önlemek ister ve çalışanı mutlu etmeye ve tutmaya yardımcı olur.
Program tasarlanırken hala okulda olan birinin gelip rastgele büyük kod parçalarını yeniden yazmaya karar vermesinin, bunun dağınık ve anlaşılması zor olduğunu düşündükleri için herkes tarafından iyi karşılanmayabileceğini unutmayın - "oda "bunu önermeden önce;sunum her şeydir.
Sahipliği almak için +1.Bakım yapmak eğlenceli değil, katılıyorum.Ancak yeniden düzenleme eğlenceli olabilir / olabilir.Başkalarının neyi yanlış yaptığını öğrenin, mantıklı parçalara ayırın, sonra doğru yapıldığını düşündüğünüz şekilde yapın.Tabii ki birinin işi yüzünden sinirlenmekten bahsetmek her zaman mantıklıdır.Ancak böyle bir toplantıya hazırlık aşamasında OP, yeniden düzenlenirse dünyanın ne kadar iyi olabileceği konusunda bir plan hazırlamalıdır.Bu işi iyi bir iş haline getirme isteği reddedilirse, ayrılık yine bir B planıdır ...
Sesini yükseltmek mantıklı.Bazı geliştiriciler eski kodu korumada başarılı olurken, bazıları yeni şeyler yaratmada başarılı olur.Sırf deliğin doldurulması gerektiği için kare bir dübeli yuvarlak bir deliğe zorlamak kötü bir yönetimdir.Kim daha iyi bir iş çıkaracak, eski geliştirmeyi seven geliştirici mi yoksa bundan nefret eden ancak yapmaya zorlanan geliştirici mi?
@EdwinLambregts kesinlikle talep vardır, ancak bu, aralarından seçim yapabileceğiniz devasa bir programcı havuzu olmadığı anlamına gelmez.Sorun şu ki, bu havuzun çoğu düşük kaliteli programcılar isteksiz ve / veya yapması gerekeni yapmaktan aciz.Örneğin, büyük bir eski kod tabanını kazmak ve ortaya çıkan sorunları çözmek istemeyen insanlar ... Hangi btw sevdiğim bir şey olur :)
Mangocherry
2019-07-05 15:10:50 UTC
view on stackexchange narkive permalink

Her zaman sorabilirsiniz, ancak onlar da her zaman hayır diyebilirler.

Sözleşmenizde yalnızca sevdiğiniz projelerde çalışacağınızı belirtmediğiniz sürece, sizi gördükleri gibi projelere koyabilirler.

Yapmak isteyeceğiniz değişiklikleri (yeniden düzenleme, belge yazma, ...) ve daha az hatayla kazanılan zaman açısından şirket için faydaları belgeleyebilirsiniz.

Ya da daha iyi uygulamalarla ürünün yeni bir gelişimini savunabilirsiniz. Ancak, eski projenin kullanıcılara ödeme yapması gerektiği ve birilerinin bunu sürdürmesi gerektiği ve onlar da sizi Pikachu'yu seçtiği sürece.

Yaptığınız şeyi (Otobüs faktörü) daha fazla insanın yapmasını isteyebilirsiniz, böylece diğer projeler üzerinde de çalışın. Bunlar eski projeden daha önemli hale gelirse, bunlar bir çıkış haline gelebilir.

Yine de: Firmanıza ödeyen ve dolayısıyla bu proje için patronlarınıza maaş ödeyen insanlar olduğu ve firmanız olmadığı sürece. Bundan vazgeçmeye meyilliyseniz, birisinin hataları düzeltmesi gerekecek.

Son çare olarak istifa edip serbest meslek sahibi olarak çalışabilirsiniz. Orada gerçekten üzerinde çalıştığınız projeleri seçebilir, ancak ışıkları açık tutmaktan gerçekten hoşlanmadığınız bazı projeleri yapmak zorunda kalmaya hazır olun. Yalnızca en iyi ve en iyi tanınanlar yaptıklarını tam olarak seçebilir.

Mick Mnemonic
2019-07-06 05:04:24 UTC
view on stackexchange narkive permalink

tl; dr: İşvereninize karşı dürüst olun. Onlara yalnızca sıfırdan projeler ile ilgilendiğinizi söyleyin. Ancak, bu kararı vermenin, muhtemelen hizmetlerinizin artık gerekli olmadığı noktaya kadar, teklif alacağınız işi önemli ölçüde sınırlayacağını unutmayın.

Profesyonel yazılım geliştirmedeki en önemli şeylerden biri, paylaşılan bir kod tabanı üzerinde işbirliğidir . Bir rock yıldızı solisti değilseniz, kod tabanının her zaman geçmiş ve şimdiki meslektaşları tarafından şekillendirilmiş bir geçmişi olacaktır - ve muhtemelen geçmişte sizin de .

Daha önce de belirttiğiniz gibi, kodu okumak onu yazmaktan çok daha zordur - işte bu yüzden bu beceri bu kadar önemlidir. Mevcut bir projenin köşelerini ve çatlaklarını öğrenmek ve anlamak çok fazla beceri ve sabır gerektirir. Her şeye yeniden başlamak, hatta muhtemelen kullanılan teknolojileri ve çerçeveleri seçmek daha kolaydır ve geliştirici için daha hoştur.

Ticari yazılım her zaman amacına hizmet eder. Bu, yalnızca yeni başlayanlar veya pazarlama ile çalışmadığınız sürece, yazılımın makul bir yaşam beklentisine sahip olması gerektiği anlamına gelir. Mevcut çözümleri ve özellikle mevcut ticari çıkarları tanımak için fazladan çaba sarf eden geliştiriciler, kendilerini değerli kılan ve genellikle değiştirilmeleri zor olan geliştiricilerdir.

Sizin gibi Eski kodla çalışmak her zaman (hiç mi?) kolay, hatasız veya temiz değildir. Düşünmenizi önereceğim şey, işleri tersine çevirmektir: Her imkansız spagetti kopya-makarna parçacığı, birim testleri ile harika bir yeniden düzenleme için bir fırsattır ; her hata raporu, işletmeyi ve son kullanıcıları kusursuz müşteri hizmetleri ile etkilemek için bir şanstır.

İyi cevap.Ekleyeceğim tek şey, son paragrafa rağmen, bazı geliştiriciler (benim gibi), eski kodu korumaktan her zaman * nefret edeceklerdir.Anlaşılmaz bir karmaşada gezinme ve çalışma süresinden daha fazla boş zaman harcamanın hayal kırıklığı, bazı geliştiricilerin üstesinden gelemeyeceği bir şeydir.Öyleyse, OP bunlardan biriyse, o zaman ilk paragraf onlar için en iyi tavsiyedir ve hatta yeni bir işe başvurmak anlamına gelebilir, bu da o zaman iyi olur.
EvilSnack
2019-07-06 09:47:47 UTC
view on stackexchange narkive permalink

Ekibim şu anda, şirketimiz orijinal geliştiricileri satın aldığında şirketimize ait olan iki ürünün bakımını yapıyor. Bu satın alımların mümkün olmasının nedeni, diğer şirketlerin finansal olarak iyi performans göstermemesidir.

İki üründen sadece biri üzerinde çalışıyorum. Önceleri, yol katliamında çalışan tahnitçi olmak gibiydi. Orijinal kodlama ekibinin bir daha asla bilgisayarlara dokunmasına izin verilmemelidir. Amirim diğer üründen sorumludur ve bu aynı zamanda bir felakettir.

Bu çöplük yangınları üzerinde çalışmanın başlıca yararı, bunun nasıl yapılmadığı konusunda sağlam dersler almamızdır. bir şeyler yapmak için ve hatta sektörde üç yıl geçirmiş olsanız bile, üzerinde çalıştığınız ürünlerden böyle bir şey öğreniyorsunuz.

Durumunuza, uğraşmak zorunda kalmamanız gereken bir şey olarak bakmayı bırakın ve bunun yerine şirketinizin ürününü eskisinden daha iyi hale nasıl getireceğinize bakın.

Kolay bir ilk adım olarak, bir kod parçasının ne yaptığını anlamak zorunda olduğunuz her seferinde, kodun ne yaptığını tam olarak açıklayan kod. Bana çok yardımcı olduğunu görmeme rağmen, size yardımcı olmayabilir, ancak koda bakacak bir sonraki kişinin onu çözmesi gerekmeyecek.

Benzer bir şekilde, Micheal Feather'ın 'Eski Kod ile Etkili Çalışma' adlı kitabı harika bir kaynak oldu ve gerçekten iyi yaşlandı - kodunuza 'dikişler' eklemenin arkasındaki teori, böylece kodunuzun bazı kısımlarını sınayarak güvene sahip olabilirsiniz.Kodun beklediğiniz gibi davranması (ne yapması gerektiğini keşfetmeniz gerekse bile) 'eski kod' ile tüm deneyiminizi değiştirir.Ve Eski kodun tanımı sadece 'yeterli testler olmadan kod' olarak gördüğüm bazı 'yeşil alan' projeler için geçerlidir ...
ve çoğu zaman bu zayıf kod, birkaç yıl önce sizin oluşturduğunuz koddan daha kötü değildir ... Ve özellikle gençler için, kod muhtemelen HEMEN ŞİMDİ kendilerinin oluşturduğundan daha iyidir, sadece farkında değiller çünküProgramlama dersleri sırasında kafalarına aktardıkları katı kalıplara ve paradigmalara göre tasarlanmamış kodu anlamaz.
JMK
2019-07-07 18:31:27 UTC
view on stackexchange narkive permalink

Şimdiden pek çok harika yanıt var, ancak buna 0,02 sterlinimi ekledim.

Eski yazılımı korumak, yeni bir şey oluşturmaktan daha zordur, aynı zamanda başlı başına değerli bir beceridir.

Yapabilmek Yıllardır var olan, kötü dokümantasyonlu veya hiç dokümantasyonsuz ve üzerinde çalışan birçok geliştiriciden birçok farklı kodlama stilini içeren bir kod tabanına atlamak, özellikle kurumsal dünyada birçok işverenin aktif olarak aradığı bir şeydir.

Belge yoksa, bazılarını yazın. Otomatikleştirilmiş test yoksa, test edilebilir olması için kodu yeniden düzenlemeye çalışın ve bazı testler yazın. Kodlama stilleri her yerde bulunuyorsa, dil veya çerçeve için önerilen stilleri araştırın ve kod tabanını önerilen kodlama stiliyle eşleşecek şekilde yeniden düzenleme üzerinde çalışın.

Mutlu olan biri olarak itibar kazanmak eski kodla çalışmak ve bunu kimin iyi yaptığı, kariyeriniz için yeni ve parlak çerçevelerle sıfırdan projelerde çalışmak kadar iyi olabilir.

Zaman geçtikçe, üretimdeki eski kod miktarı artar. yalnızca artacak ve bununla ilgilenebilecek, hataları düzeltebilecek ve yeni özellikler ekleyebilecek geliştiricilere olan talep, bununla birlikte artacak, çünkü bu uygulamaları yeni teknolojiyle yeniden yazmak genellikle birçok kişi için kötü bir fikir olarak kabul ediliyor. iyi nedenler.

İyi şanslar!

Flater
2019-07-08 13:40:42 UTC
view on stackexchange narkive permalink

Eski bakım, geliştiricinin iyi uygulama arzusunu oluşturur

Yalnızca bir lider geliştiricinin bakış açısını eklemek istiyorum, çünkü bir geliştirici olarak eski kodu korumak istememeyi değil, bir lider geliştirici olarak katılıyorum Hiçbir geliştiricinin bundan kaçınmasını savunmuyorum.

Durumumu ortaya koymak için pratik bir örnek kullanacağım. Bir danışman olarak, genellikle kod kalitesi sorunları olan bir şirkete / projeye gönderilirim, burada işim işleri doğru yapmaktır. Tahmin edebileceğiniz gibi, kötü kod çok sayıda eski bakıma yol açar.

Kötü kod yazan geliştiricilerin iki kamptan birinde olması benim en önemli deneyimimdi:

  • Daha iyisini bilmeyenler
  • Doğru şeyi yaptıklarını düşünenler

Eski grubun üstesinden gelmek kolaydır, çünkü hemen gelişecekler onlara iyi bir uygulama gösterdiğinde. Bununla birlikte, ikinci grubu ikna etmek çok daha zordur, çünkü kısa vadede genellikle daha fazla çaba gerektiren iyi uygulamanın faydasını görmezler. Uzun vadede kâr payını geri ödüyor, ancak ikinci grup genellikle bu noktayı gözden kaçırıyor.

İkinci kampta bulunan ilgilendiğim hemen hemen her geliştirici, projeden projeye atlamayı başaran geliştiricilerdi kendi kodlarının bakımını atlamak . Kusurlu tasarım kararlarının sonuçlarıyla hiçbir zaman karşılaşmadıkları için, bu sorunların, uygulama ilk geliştirilirken ortaya çıkmadan önce ortaya çıkmasını engellemeye asla teşvik edilmediler.

Çözüm basit: geliştiriciler sahipliği almalıdır . Hatalı kod yazarsanız, ortaya çıkan hatalarla ilgilenirsiniz. Zamanınızı hataları düzeltmek için harcamak istemiyorsanız, o zaman onları üretmeyen kod yazmak size kalmıştır.
Bu, geliştiricilerin ona karşı zorlanmak yerine kendilerini geliştirmeleri için çok basit bir teşvik oluşturur. iradeleri ve neden daha iyi bir yaklaşım olduğunu anlamadıkları için.

Bundan çıkarmanızı istediğim şey, geliştiricilerin neden iyi uygulamaya ihtiyaç duyduklarını hatırlamaları için eski bakımın şart olduğudur .
Bir benzetme olarak, siperde olan bir general adamları, ülkenin diğer tarafındaki bir sarayda rahatça oturan bir generalden daha iyi kararlar alacaklardır (askerler için). Bir geliştiricinin, genel olduklarında (= yeni uygulamayı oluştururken) tasarım kararlarının etkisini bilmeleri için ellerini kirletmesi gerekir.


Başkalarının peşinden gitmek

Bununla birlikte, kendi böceklerinizle değil, sizden önce gelen insanlarla karşı karşıyasınız. Şu anda aynı gemideyim ve bunun savunulabilir bir durum olmadığı konusunda sizinle aynı fikirdeyim.
Hiç kimse eski bakımı sevmiyor ve görünüşe göre yöneticiniz yalnızca eski bakımı nasıl yaptığınızı dikkate almadı hem de moralinizi ve kişisel kariyer gelişiminizi etkiler.

3 yılımı eski bakım için harcadım, ancak evden çok gevşek bir çalışma ile rahat bir işti. İş / yaşam dengesi kötü olmasa da, sektöre ilişkin güncel bilgiler kazanmadığım için kariyerimin durduğunu anlamam biraz zaman aldı. Bu işten 5 yıl sonra kovulmuş olsaydım, becerilerim diğer şirketler için o kadar eski olurdu ki, kaybedilen zamanı telafi etmek için uğraşmam gerekirdi.

Öte yandan, birisinin bu projeyi desteklemesi gerekiyor. Yani "ben değilim" yaklaşımını benimseyemezsiniz, çünkü her geliştirici aynı "ben değilim" yaklaşımını öne çıkarır ve ardından yönetim, kısa çöpü çekecek birini atamakla yükümlüdür (bu, başlamak için bu konum).


Sorunu ele alma

Yöneticinize yaklaşın ve ona eski projenin destek gerektirdiğini anladığınız halde, hiçbir şey yapmamanız ancak eski kodla uğraşmamanızın moral kaybı olduğunu açıklayın. Yöneticinizin sizi farklı (eski olmayan) bir yarı zamanlı projeye atamayı düşünüp düşünmediğini sorun.

Tecrübelerime göre, mantıklı yöneticilerin çoğu bunu anlayacak (muhtemelen siz bu işe atandınız çünkü hepsinden ayrılan diğer 5 geliştirici aynı noktayı tartıştılar) ve sizi korumanın faydasını görecek (zaten bilen biri eski projeyi yarı zamanlı olarak terk etmenize ve eski projeyi bilmeyen yeni bir geliştirici bulmaya ihtiyaç duymanıza karşılık, projede yarı zamanlı.

Ama aynı deneyimime göre, Çalışanların morali, daha sıkı bir "yapmanı söylediğimizi yap" yaklaşımını uyguladıkları öncelikler listesinde oldukça düşüktür.
Burada verebileceğim tek tavsiye, böylesine zehirli bir ortam bırakmaktır. İş memnuniyetinize (makul ölçüde) değer vermeyen bir şirket için nefret ettiğiniz bir işte çalışmakla kariyerinizin boşa gitmesine izin vermeyin.

Üçüncü kamp: Yönetim, geliştirme için gereken sürenin eksik tahminlerine dayanarak sürekli olarak sözler verdiği için son teslim tarihini geçmiş geliştiriciler.Son tarihler, yazılım kalitesinin sıkıntısıdır.
@EvilSnack: Eller aşağı, işlerin genellikle böyle başladığını kabul ediyorum (ya bu ya da sadece gençler için rehberlik eksikliği).Ancak zamanla, bu kalıcı ortam, bunu daha iyi yapma lüksüne sahip oldukları zamanlarda bile yalnızca böyle çalışan geliştiriciler yetiştirir.Vermem gereken en yaygın geri bildirim, hem mgmt hem de geliştiricilerin suçlu olduğudur.Yönetim, geliştiricilerin tamamen pratiklikten kötü uygulamayı kullanmayı öğrendikleri bir ortam yaratır.
@EvilSnack Bir zamanlar geliştirmeye harici müteahhit olarak katıldım.İlk günden sonra son teslim tarihini sordum.Cevap şuydu: geçen hafta.Yaklaşık bir yıl sürdü.
NibblyPig
2019-07-05 17:23:04 UTC
view on stackexchange narkive permalink

Üzerinde çalıştığınız şeyden hoşlanmıyorsanız, başka bir şirkete gidin. Programcılara yüksek talep var.

Yapacağınız çalışma türlerini önceden öğrendiğinizden emin olun. Senin durumundan ayrıldığı için kimseyi eleştirmeyeceğim, kulağa korkunç geliyor. Ancak, bu tür bir proje üzerinde çalışacağınızı bilerek işe alınmış olsaydınız, bundan şikayet etmek pek zevkli olmazdı.

Günlük işlerinizi bir gün içinde değiştirmek için nadiren çok fazla alan vardır. şirket, bu şeyler uzun vadeli olma eğilimindedir ve yapmak istediğiniz bir şeyi yapan başka bir iş bulmaktan neredeyse her zaman daha düşüktür.

Bu çok doğru cevap.Yalnızca yeşil alan geliştirme yapmak istiyorsanız, en iyi bahisleriniz ya bir başlangıç için çalışmak ya da bir web sitesi / vb. Yapmak için birkaç ay harcayacağınız küçük işletmeler için danışmanlık / müteahhitlik yapan bir şirkette çalışmak ve ardından sözleşme yapmaktır.biter ve farklı bir müşteri için başka bir proje yapmaya devam edersiniz.
Diğer şirketler de eski kodlara sahip olacaktır, bu nedenle işleri değiştirmek, bunu düzeltmek için hiçbir garanti değildir.
Yine de dediğim gibi, ne istediğinizi belirleyin ve yeni bir işle ilgili röportajda ne yapmanız bekleneceğini tartışın.Açık konuşursanız, sevmediğiniz bir duruma düşme olasılığınız çok daha düşüktür.
KC Wong
2019-07-06 17:45:06 UTC
view on stackexchange narkive permalink

Şirkete göre değişir. Son işimde şirketim devlet ve bankalara BT çözümleri sunuyor. Yani her seferinde yeni bir ihale ve yeni bir proje. Teklif verme, proje tasarlama ve uygulama aşamalarında yer alan geliştirme ekibindeyim. Üretim sürümünden sonra, bakım ekibi görevi devralacak ve bizimle yalnızca başa çıkamayacakları sorunlarla iletişime geçecektir. Dolayısıyla, farklı yapıdaki bir şirket çözüm olabilir.

Ancak durumunuzu farklı bir açıdan görebilirsiniz.

Bakımını yaptığınız yazılım kötüyse düzeltin . Düzeltmenin ötesinde ise, amirinize neden böyle olduğunu açıklayın ve bir çözüm önerin.

Kötü bir durum olduğunu düşündüğünüz şey, bunun yerine amirinize neler yapabileceğinizi gösterme şansı olabilir.

Yöneticiniz sizi olumlu bir açıdan görürse, Yapmak istediğiniz projelere atanmak veya onu sizi yeniden atamaya ikna etmek için çok daha iyi bir şans.

Şu anki 2 yıllık sözleşmeli işimde, sizin gibi kötü yazılımları kullanıyorum. Orijinal satıcı çoktan gitti ve kod kalitesi kötü. Yöneticim şirket kültürü çok çekingen olduğu ve risk almaktan nefret ettiği için büyük değişikliklere isteksiz. Üzerinde çalıştığım kısmı düzeltmek için çeşitli seçeneklerin artılarını ve eksilerini sundum, çok çaba sarf ettim ama sonunda onları kazandım. Birkaç ay içinde, amirim bana kalıcı bir pozisyon teklif etmekten bahsediyor.

Bu durumdan kahramanlar yükseliyor.

Aferrercrafter
2019-07-06 02:45:56 UTC
view on stackexchange narkive permalink

Kendinizi diğer yerlere koyun Yöneticinizin takımını dinlediğini biliyor musunuz? Makul bir yönetici mi? Geliştiricilerin ihtiyaçlarını karşılamaya mı çalışıyorsunuz? İletişimsel mi? Bu çok önemli, yöneticinizin bir rolü var ... işi halletmek, sonuçları sunmak. Ve bunun için birisinin eski projeyle ilgilenmesi gerekiyor.

  • Başka bir yedeği var mı?
  • Tercihlerinize daha çekici gelen, size motivasyon veren başka bir projesi var mı, belki de zamanınızın% 50'si ?.
  • Projenin bir bölümünü yeniden yaratmanız için size yeşil ışık yakabilir mi?

Kesin olarak bilmiyorsunuz .... bu yüzden, evet, onunla konuşmalısınız. Zorlu bir şekilde değil, işyerini seviyorsanız hayır. Ama onunla rahatsızlığınız hakkında konuşmalısınız, çünkü ayrılan çalışanlar da iyi bir sonuç değil, ... hiçbir şirket / yönetici bir geliştiricinin istifasından yararlanamaz. Ve ondan daha fazla para, daha az saat, uzaktan çalışma veya şirket politikalarını / kaynaklarını engelleyen bir şey istemiyorsunuz. Takımın tahsislerini yeniden düzenlemeye çalışmakla ilgili bir şey, daha 'yapılabilir'. Ve ona bir rahatsızlığı bildirdiğiniz için kovulmuyorsunuz. Ancak, rahatsızlığınızı gidermenize yardımcı olabilecek tek kişi, tabii ki orada kalmak istiyorsanız o kişidir.

Ondan kısa bir özel toplantı yapmasını isteyin.
Rahat olun , kızgın duygu yok, talepkar sesler yok.
Bu, bir ekip üyesiyle yapılan ve bir rahatsızlığa çözüm bulmanıza yardımcı olabilecek bir görüşmedir .

Sizin için hiçbir şey yapmasa bile hiçbir şey yapılamaz. Senin elinde değil, hareket ettirmek için elinden geleni yaptın. Çünkü hiçbir şey söylemez ve yeni bir iş bulmazsanız, ona söylediğiniz anda size söyleyeceğim ilk şey 'Ben şimdi böyle hissettiniz, bunu çözmeye çalışabiliriz' olacaktır. . Bir şirketten para için ayrıldığınızda, önce bir artış istersiniz, bu aynıdır, iş aramaya başlamadan önce, her iki menfaatin de tatmin edildiği bir çözüm bulma şansı verin. Ekibe / müşteriye değer katarken aynı zamanda motivasyon elde edeceğiniz bir şekilde düşünün

Joshua
2019-07-08 08:11:57 UTC
view on stackexchange narkive permalink

Hikayemi dinlemekten büyük bir fayda sağlayabilirsiniz.

Şirketimde belirli bir proje üzerinde çalışmak üzere işe alındım (kısmen, röportaj yaptıkları ve tanıdıkları tek kişi olduğum için elektronik, ancak bu büyük ölçüde alakasız hale geldi). Yaklaşık altı ay boyunca üzerinde çalıştıktan sonra, kod tabanı o noktada sadece bir buçuk yaşında olmasına rağmen mimarinin tam bir kayıp olduğu sonucuna vardım. O zamanlar üç yıllık bir kod tabanına baktığımı ve şirketin kötü kaynak kontrol uygulamaları geçmişi olduğunu düşünmüştüm. Aslında, kaynak kontrol kullanımları oldukça iyiydi (daha iyi hale geldi) ve ürün, büyük patlama üretimi tarafından yapıldı.

Benzer şekilde, temelin çatladığını ve zeminin dengesiz olduğunu bildirdim. Aslında tamamen yeniden yazmak gerekiyordu, ancak o zaman karşılanamadı ve bunu biliyordum. Gerektiğinde, direk olarak hizmet etmek için I-kirişlerini temelden geçireceğim konusunda analoji yoluyla anlaştık. Önümüzdeki on yıl içinde işler bozulduğunda veya sürdürülemez hale geldikçe veya profil oluşturucu sıcak noktalar bulduğunda neredeyse tüm orijinal mimariyi değiştirdim, o ana kadar sadece birkaç düzine satır kaldı. Ama şimdi I-kirişlerin kendileri çatladı ve desteklendi ve ev-skycraper yaşını gösteriyor ve yine üzerinde çalışmak zorlaşıyor ve yeni programcılara, veritabanına yeni tablolar eklemek için gereken her şeyi öğretmekten korkuyorum. örnekler kalır. İşlerin nasıl yürüdüğüne dair her açıklama artık bir tarih dersi haline geldi.

Artık ürün üzerinde fazla çalışmıyorum, ancak mimarinin kurallarını ihlal eden bir değişiklik yapılması gerektiğinde bunu yapıyorum , bunu yalnızca benim yapabildiğim için değil, aslında kafamdaki tüm kuralları bildiğim ve bu nedenle sonuçlarını sürdürmenin en kolay yolunu seçebildiğim için.

Ancak, bunu gerçekten doğru bir şekilde yapacak ve aslında yirmi yıl veya daha uzun süre sürdürülebilecek bir mimari tasarlayacak deneyime ancak şimdi sahibim. Bazı problemler orijinal mimarinin kötü kararlarıdır ve uygulamayı neredeyse aynı işle değiştirdim ve aynı kararların çoğunu alıkoydum. Sorunlardan bazıları kendi kötü kararlarım. Ve endüstri değişti ve biz fat-client mimarisini bir web mimarisiyle değiştirmek istiyoruz. Biliyor musun, şimdi tam zamanı. Bir web mimarisi için tüm becerilere sahip değilim, ancak çoğuna sahibim ve geri kalanı için nereye döneceğimi biliyorum.

Seçim gerçekten sizin olmalı, ancak Burada temelden I kirişlerini geçirecek bir yer var. Bunu yapmayı seçerseniz, öğrenecek ve güçlü olacaksınız.

bob
2019-07-08 20:44:35 UTC
view on stackexchange narkive permalink

Zorlayıcı bir şey yapmadan önce kendinizi bildiğinizden emin olun

Üç yıl henüz çok küçük, bu yüzden ne olduğunu bildiğinizden emin olmadan iş veya kariyer değiştirmek gibi sert bir şey yapmam hoşunuza gitmeyen eski kodu korumak hakkında. Örneğin, yeni bir araç veya teknik öğrenmeniz gerekebilir ve aslında eski kodu korumayı sevmeyi öğrenebilirsiniz. Bir akıl hocanız varsa, bu onlarla tartışmak iyi olur. Bir mentorunuz yoksa, bir tane bulmaya çalışmalısınız.

Mutsuz = zayıf performans = kariyer başarısı = değişim zamanı

Siz olmadığınıza emin olduktan sonra, iş bu, o zaman en iyi işinizi yalnızca mutluysanız veya en azından işinizden memnunsanız yapacağınızı anlayın. Aktif olarak mutsuzsanız veya işinizden nefret ediyorsanız, işinizde görünecektir. Bu, uzun vadede kariyerinize zarar verecektir. Yani, aktif olarak sizi mutsuz eden bir durumda kalmak için kendinize herhangi bir iyilik yapmıyorsunuz (bazen başka seçeneğimiz yok, ama eğer öyleyse ve çoğu zaman biz yapıyoruz, o zaman bir değişiklik yapmanız gerekir).

Ne yapmalısınız?

Patronunuza tercihlerinizi söyleyin ve makul bir süre içinde patronunuz onları onurlandıramazsa veya onurlandırmazsa, bunu yapabilecek ve niyet. Neredeyse hiçbir işin (kendi patronunuzsanız dahil) tercihlerinizi% 100 oranında karşılamayacağını unutmayın; bu sadece hayat. Ancak iyi bir uyum sizin için kabul edilebilir olan ve sevdiğiniz görevleri en azından tahammül edebileceğiniz bazı görevlerle karıştırır. Ancak kendinizi işinizden nefret ederken bulursanız, değişim zamanı gelmiştir.

Son bir şey

Uzun saatler çalışıyorsanız veya hafta sonları yeterli molalar olmadan çalışıyorsanız, o zaman tükenmişlik yaşıyor olabilirsiniz, bu da en keyifli görevlerin bile ev işleri ve sıkıcı görevler gibi hissetmesine neden olabilir. Bu nedenle, durumunuzu değerlendirmenin bir parçası, işinize yönelik nefretinizin tükenmişliğin neden olduğu stresten değil, gerçekten işinizden kaynaklandığından emin olmayı içerir. Sorunun tükenmişlik olduğu ortaya çıkarsa, işinizden hoşlanmama durumundan farklı bir şekilde ele alınması gerekir.

Mattman944
2019-07-06 03:50:29 UTC
view on stackexchange narkive permalink

İşte kullanabileceğiniz bir strateji. Ancak dikkatli olun, bu sizi müdürünüzün yanında elverişsiz bir duruma sokabilir.

Onlara bazı modüllerin saçma olduğunu ve sıfırdan yeniden yazılması gerektiğini söyleyin, onlara yara bandı yapamayacağınızı söyleyin. Başka birini bulabilir veya yeniden yazmanıza izin verebilir. Yeniden yazabiliyorsanız, neredeyse yeni bir proje gibi, mutlu olmalısınız.

Bunun her iki tarafını da gördüm. Anlaması ve düzeltmesi, yeniden yazmaktan daha uzun sürecek berbat kodu yeniden yazdım. İyi ve sürdürülebilir olduğunu düşündüğüm (ve bütçemi aşan) kodları yeniden yazan insanlar gördüm.

Bir denge olmalı.Proje dağıtılırsa, hataların giderilmesi ve kullanıcı endişelerinin ele alınması gerekir.Ama aynı zamanda, kod kalitesinin ve sürdürülebilirliğinin iyileştirilmesinde ileriye dönük bir ilerleme olmalı, aksi takdirde kod sürdürülemez hale gelecektir.İleriye doğru ilerleme kaydedilmiyorsa (veya daha kötüsü, kod daha fazla "hızlı düzeltme" alıyor ve daha da kötüleşiyorsa) daha fazla kaynağın atanması gerekir.Şans eseri, kodun çalışır durumda tutulması ile kodun geliştirilmesinin sürdürülmesi arasında iyi bir denge yönetimle müzakere edilebilir.
mario diaz
2019-07-07 00:09:22 UTC
view on stackexchange narkive permalink

Bunu uzun süre yaşadım. Dayanılmaz bir şey oldu.

Maalesef, iş gününüzün çoğunu tüketiyor ve çok sayıda kötü kodla karşılaşacağınızı düşünerek uyanmak çok iğrenç. Bu kötü bir duygu.

Yaratmayı ve icat etmeyi seviyorum; bu yüzden uzun zaman önce programcı oldum. Ben de bir dahi değilim, zeki ama oldukça yaratıcı.

Deneyiminiz olduğuna göre, işinizi bırakın ve bağlılığınızı daha iyi hak edecek birini arayın. Bunu 2 ay önce yaptım ve şimdi neden daha önce yapmadığımı anlayamıyorum.

ivan_pozdeev
2019-07-08 08:35:36 UTC
view on stackexchange narkive permalink

Birkaç kez kod tabanından "nefret etmeye" başladığımı keşfettim, nedenini araştırmaya başladım.

Ve bunun beni sürekli rahatsız eden ve düzeltilmemiş kalan bazı dezavantajları olduğu için öğrendim. Zor olan şey bu yüzden artıyor ve ...

Bu "nefreti" ortadan kaldırmanın yolu, sizi bu kodla ilgili rahatsız eden şeyleri tespit edip düzeltmektir!

Nedir? en önemlisi, onları zaten tanıyorsunuz (çünkü sizi rahatsız ettikleri için) ancak öncelik vermek istemiyorsunuz.

Zaten birkaç ad verdiniz: "Kodun anlaşılması kolay değil, özellikle de belge yoksa." Kodu incelerken, bunların ve bu parçaların özensiz ve hataya açık olduğunu belirlemiş olmalısınız; burada ve burada test yoktur, bu nedenle kodun her durumda (hala) doğru olup olmadığını bilmenin bir yolu yoktur vb.

Bu iyi bir tavsiye, ancak bazen "nefret ettiğiniz" şey, maalesef tek bir kişinin uygulanabilir bir şekilde düzeltemeyeceği, yıllarca süren teknik borçtur.Muhtemelen birçok eski kod tabanı için düşünüyorum.Bu nedenle birçok durumda önlenemeyebilir.
@bob yine de, psikolojik bakış açısıyla her seferinde bir şeyi düzeltmek ve sinir hücrelerinizi hiçbir şey yapmadan harcamaktan daha iyidir.O halde, teknik borç, devam eden bakımı vergilendirir ve bu nedenle, yalnızca ürün EOL'ye yaklaştığında ödenmeye değmez.OP'nin durumu için, durum böyle görünmüyor (çünkü görünürde bir bitiş tarihi olmaksızın, sürekli olarak sürdürdüklerini söylediler).
Doğru.Durumun içinde sıkışıp kalıyorsanız veya ondan kurtulmayı beklerken, bu iyi bir stratejidir (yine yapabilirseniz; bazen size belirli bir kod parçasına dokunmamanız söylenir).Ancak günün sonunda en iyi işi yapmak sizin için tatmin edici oluyor.En iyi işi yapacaksın ve kariyerinde gösterecek.


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 4.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...