konto usunięte

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
Z tym robieniem szybko i tanio - to mam wrażenie, że jest to kwestia filozofii i pewnych wartości. Ja na przykład mam tak, że jeśli mam coś zrobić byle jak, to tego nie zrobię wcale. Taki już jestem.
Biznesowo - porażka, zgadzam się. Ale, szanowni Państwo, jaki fun :))))

Zazwyczaj życie nie jest zero-jedynkowe i cykle zrobienia czegoś jak należy przeplatają się z cyklami zrobienia czegoś na czas. Pozostaje jeszcze drobny margines na szybko, tanio i dobrze.
Mimo wszystko są firmy gdzie na pytanie: "Na kiedy to będzie zrobione ?" odpowiada się "Jak będzie zrobione to powiemy".
Tak naprawdę zawsze starałem się nie znaleźć w takiej sytuacji, żeby kasa przesłaniała mi świat. I, tak naprawdę, wolę zarobić mniej kasy, niż robić coś, z czego nie będę zadowolony i po czym będę miał kaca moralnego :)

Jedno drugiego nie wyklucza.
Piotr Głudkowski:
I to jest przyczyna tego, że wszystko spada na psy.
Primo: programowanie jest procesem stricte twórczym - więc mówienie o produkcji oprogramowania jest z definicji zonkiem.

Mówiąc "produkcja" mam na myśli całokształt wytwarzania oprogramowania a nie fizyczne tłoczenie płytek.

Piotr Głudkowski:
Secundo: dopóki managerowie będą rządzić merytoryką, dopóty większość softu na rynku będzie zwykłym śmigłem.[/edited]

Tu nie chodzi o managerów. Tu chodzi o wymogi rynku. Minimalizacja kosztów jest kluczowa. Wywalisz managerów i przekażesz inżynierom kierowanie to za kilka miesięcy dojdą (z bólem) do wniosku, że trzeba robić szybko i tanio.
Jakub L.

Jakub L. Programista

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:

Z tym robieniem szybko i tanio - to mam wrażenie, że jest to kwestia filozofii i pewnych wartości. Ja na przykład mam tak, że jeśli mam coś zrobić byle jak, to tego nie zrobię wcale. Taki już jestem.

Może i robię szybko, ale z szybko i tanio nie wynika, że byle jak, było o tym w poprzednim odcinku z oglądaniem kodu.
I nie mam pojęcia jak miałoby wyglądać przejście logiczne od użycia konkretnego kontenera STLowego który spełnia wymagania do zrobienia byle jak.
Tak naprawdę zawsze starałem się nie znaleźć w takiej sytuacji, żeby kasa przesłaniała mi świat. I, tak naprawdę, wolę zarobić mniej kasy, niż robić coś, z czego nie będę zadowolony i po czym będę miał kaca moralnego :)

Dostaję zadanie do zrobienia i ma być zrobione, ma się kompilować, działać, przechodzić testy i się nie wywalać.

Używanie bądź nie standardowych kontenerów ma taki z tym związek, że im mniej mojego kodu a im więcej standardowego, tym mniejsza szansa na niestabilność - mniej miejsc gdzie można popełnić błąd.

Od nieużywania standardowych kontenerów już niedaleko do syndromu NIH.
Jakub L.

Jakub L. Programista

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
Aleksander W.:
/.../
Z tego powodu uważam, że co jak co ale do tego konkretnego przypadku rady używania STLa mijają się z celem - bo jeśli OP jest na takim poziomie jak podejrzewam, to w ogóle nie zrozumie o czym jest mowa.
Dokładnie.
To przynajmniej ma teraz listę tematów w których może sobie poszerzyć wiedzę.
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Potrzebna Pomoc w projekcie c++

Hehe, ale się namieszało :)
Nie będę cytował poszczególnych wypowiedzi - odniosę się do poruszanych tematów.

1. Co do czasu realizacji zadań: wszystko da się oszacować, wszak jesteśmy profesjonalistami :)
Ale, jeśli my szacujemy czas wykonania na x miesięcy, a konkurencja twierdzi, że zrobi to w czasie x / 5, to po prostu wiadomo, że tego nie zrobią. I tutaj jest rola jednego z drugim handlowca, żeby uświadomił to klientowi, zamiast naginać się i zobowiązywać, że zrobimy to jeszcze szybciej niż konkurencja.
Wiem, że to co piszę, to chciejstwo - ale takie uginanie się przed klientem i konkurencją po prostu potwornie psuje rynek i tak naprawdę prędzej czy później odbija się na nas jako firmie. To powinno być karalne :) A co zrobić, żeby tak nie robili? Oczywiście to zależy, generalnie nic się nie da zrobić. Ja, jak pełniłem przez pewnien czas obowiązki project managera, mówiłem takiemu handlowcowi: "Co, stary, mamy to zrobić 6 x szybciej niż powiedziałem? Hmmm, to ty masz problem, bo ja mówiłem, że się nie da." Efekt: dość szybko przestałem pełnić te obowiązki - ale przynajmniej kilka projektów chłopaki robili bez nerwowego patrzenia im na ręce, no i kilku handlowców poleciało w kosmos :))) Z drugiej strony co i raz mamy jakieś tematy, które spadły nam po konkurencji, bo jednak nie udało im się zrobić w czasie x / 5.

2. Co do produkcji oprogramowania: produkować to sobie można rzeczy powtarzalne, np. gwoździe. Oprogramowanie się tworzy - a to zasadnicza różnica. I to już zaczyna być (ponownie) wbijane przyszłym managerom w głowy w wielu renomowanych zagranicznych uczelniach. Człowiek nie jest maszyną, i każda praca koncepcyjna jest z gruntu nie do końca przewidywalna - głównie chodzi mi o czas, choć także i o efekty. Ja wiem, że nie chodziło o tłoczenie płytek, tylko o proces wytwarzania (nie produkcji!!!!) oprogramowania. Ale nadal wielu managerów uważa, że nie różni się to niczym od produkcji gwoździ - co oczywiście świadczy o ich całkowitej niekompetencji (zwykle to są Ci, którzy przyszli z całkowicie innych dziedzin biznesu i nie odróżniają .NET CF od MS SQL).

3. Co do syndromu NIH: nie jest tak źle :) Jeśli coś jest sprawdzone (najlepiej przeze mnie, a przynajmniej przez kogoś, kto jest dla mnie w danej dziedzinie autorytetem), to czemu nie używać? Natomiast jestem przeciwnikiem podejścia, że skoro to jest, to róbmy absolutnie wszystko tylko na tym. Moim zdaniem: to, co się da zrobić na tym, róbmy na tym, a co się nie da, róbmy inaczej. Odkryłem Amerykę, nie?

4. Co do robienia byle jak: miałem na myśli raczej bezmyślność przy kopiowaniu niektórych rozwiązań, jaką niektórzy programmersi potrafią wykazywać :) No i poraża mnie podejście w stylu: "Co, nie podoba Ci się mój program do wyświetlania pierwszej linijki z pliku logu tekstowego? Że niby wymaga 1GB RAM i Pentium4? A co to przeszkadza? Przecież maszyny klienta, na których to będzie chodzić, są znacznie mocniejsze?". Ja wiem, że ten gość zrobił to w 3 minuty, a mi zajęło by 20 minut. Ale, ale: czy to naprawdę cokolwiek zmienia???

I na koniec: ja naprawdę jestem po tej samej stronie barykady :) Tylko wq... mnie, że muszę patrzeć, jak biznes prostytuuje trudną przecież, ale i piękną sztukę programowania.
Produkcja? Wrrrrrrrrrr....

I już naprawdę na koniec mały gwoździk: pomyślmy, na czym ludzie (programmersi, a potem ownerzy firm) zrobili naprawdę dużą kasę? Na kolejnym WMS-ie wyprodukowanym w/g kolejnej zwinnej metodologii? Może na kolejnym programie na PDA do analizy konkurencji? A może na jakimś CMS-ie, którym zwinne sekretarki w małych firmach aktualizują informacje na firmowych "portalach"? Nie. Ludzie zrobili kasę na systemach operacyjnych (MS, Apple), firmware do routerów (Cisco), oprogramowaniu do rozpoznawania gestów (Apple-iPhone), oprogramowaniu do analizy sygnałów analogowych (technologia GPS).
Zauważcie róznicę: to nie było robione pod konkretny biznes, natomiast to wykreowało całkiem nowe "biznesy".
A teraz popatrzmy na te STL-e i inne gotowce i pomyślmy: czy programowanie kolejny raz logiki biznesowej, która de facto składa się z dobrze znanych nam już procesów, jest naprawdę ciekawe? Czy ciekawa jest inwentura, którą właśnie zaimplementowaliśmy w nowym WMS-ie (20-tym z kolei)? Czy może ciekawe są raporty z pivotami, na które de facto klient popatrzy raz albo wcale?
Jak może być ciekawe to, co każdy potrafi zrobić po przeczytaniu kilku książek?
I jak można przez ponad pół życia robić nieciekawe rzeczy?
A na koniec, jak można przyznawać wciąż rację ludziom, którzy gadają bzdury?
Wrrrrrrrrr....Piotr Głudkowski edytował(a) ten post dnia 13.09.10 o godzinie 01:53
Karol Z.

Karol Z. Programista,
elektronik

Temat: Potrzebna Pomoc w projekcie c++

Jakub L.:

To przynajmniej ma teraz listę tematów w których może sobie poszerzyć wiedzę.
No, i to w zasadzie jeden z niewielu pozytywnych aspektów tego wątku. Prawdą jest to, że nauczyciel winien zwrócić uwagę na to, że to co właśnie zrobili studenci/uczniowie w ramach zadania może być osiągnięte dzięki takiej-a-takiej bibliotece, ale "trzeba uważać na...". Bo tak to zadanie jest zrobione do połowy i gdzieś ginie sens.

konto usunięte

Temat: Potrzebna Pomoc w projekcie c++

Póki co autor wątku milczy, więc nie wiadomo w ogóle czy go jeszcze śledzi czy nie. ;P
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Potrzebna Pomoc w projekcie c++

Autor się przestraszył :)
Tomasz M.

Tomasz M. never go full
retard!

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
Autor się przestraszył :)

... albo poszedł na teologię ;]
Adam Woźniak

Adam Woźniak software architect
and developer

Temat: Potrzebna Pomoc w projekcie c++

Jakub L.:
[..]
Od nieużywania standardowych kontenerów już niedaleko do syndromu NIH.

Co to jest _syndrom NIH_?
Adam Woźniak

Adam Woźniak software architect
and developer

Temat: Potrzebna Pomoc w projekcie c++

Generalnie zgadzam się z Tobą Piotrek (patrz plus), ale z poniższym się nie do końca zgadzam ;]
Piotr Głudkowski:
[..]
4. Co do robienia byle jak: miałem na myśli raczej bezmyślność przy kopiowaniu niektórych rozwiązań, jaką niektórzy programmersi potrafią wykazywać :) No i poraża mnie podejście w stylu: "Co, nie podoba Ci się mój program do wyświetlania pierwszej linijki z pliku logu tekstowego? Że niby wymaga 1GB RAM i Pentium4? A co to przeszkadza? Przecież maszyny klienta, na których to będzie chodzić, są znacznie mocniejsze?". Ja wiem, że ten gość zrobił to w 3 minuty, a mi zajęło by 20 minut. Ale, ale: czy to naprawdę cokolwiek zmienia???
[..]
[/edited]

OK, zwiększmy długość wytwarzania takiego systemu i przejdźmy z minut na dni, czyli mamy do porównania wykonanie w 3 dni w porównaniu do 20 dni.
Piotrek, zgodzisz się, że robiąc coś w 3 dni (zamiast 20 dni) Klient zaoszczędzi na takim projekcie wystarczająco dużo, aby kupić rzeczoną maszynę z P4 i 1 GB pamięci.

Zmierzam do tego, że mimo, że ani Ty jak i ani ja (sic!) nie lubimy nie eleganckich rozwiązań, to czasami rachunek ekonomiczny wyraźnie pokazuję, że *taniej* jest czasami iść w kierunku rozwiązań prostych i szybkich w realizacji, a nie eleganckich.

Elegancji rozwiązania klienci najczęściej nie dostrzegają :/ Dla nich ważniejszy jest termin realizacji i cena.

Pozdrawiam,
Adam WoźniakAdam Woźniak edytował(a) ten post dnia 14.09.10 o godzinie 01:25

konto usunięte

Temat: Potrzebna Pomoc w projekcie c++

Adam Woźniak:

Co to jest _syndrom NIH_?

http://en.wikipedia.org/wiki/Not_Invented_HereAleksander W. edytował(a) ten post dnia 14.09.10 o godzinie 01:50
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Potrzebna Pomoc w projekcie c++

Adam Woźniak:

OK, zwiększmy długość wytwarzania takiego systemu i przejdźmy z minut na dni, czyli mamy do porównania wykonanie w 3 dni w porównaniu do 20 dni.
Piotrek, zgodzisz się, że robiąc coś w 3 dni (zamiast 20 dni) Klient zaoszczędzi na takim projekcie wystarczająco dużo, aby kupić rzeczoną maszynę z P4 i 1 GB pamięci.
>
Masz rację. Ale jest jedno ale :) - tzn. przynajmniej ja takie "ale" widzę.
Takie podejście jest w/g mnie krótkowzroczne.

Już wyjaśniam:
Traktując taki soft jako zrobić-zarobić-zapomnieć, można by niby to tak zostawić.
Niby - bo tak naprawdę każdy dąży do tego, żeby robić jak najmniej => korzystać, z tego, co jest gotowe i, UWAGA, korzystać z tego, co się zrobiło wcześniej. I tutaj zaakcentuję sprawę korzystania z tego, co się zrobiło wcześniej, czyli reużywalności kodu. Czy z takiego kodu, który był tworzony bez myślenia o ponownym wykorzystaniu, da się skorzystać powtórnie? Czasem tak, ale zwykle raczej nie.
A co to znaczy "tworzyć kod nadający się do powtórnego wykorzystania"? To chyba każdy z nas wie, ale przypomnę jedną z zasad:
Kod musi być możliwie mało zależny od środowiska, na którym będzie wykorzystywany i uruchamiany - wprowadzanie niepotrzebnych wymagań sprzętowych zmniejsza szansę na możliwość ponownego wykorzystania.

"Możliwie mało zależny od środowiska" nie oznacza tu, że powinniśmy godzinami siedzieć i polerować wydajnościowo każdą linijkę - po prostu oznacza to, że powinniśmy odpowiedzialnie i z rozmysłem wykorzystywać zasoby sprzętowe. (np. jeśli musimy utworzyć i niszczyć obiekt 100000 razy, może lepiej zrobić klasę statyczną?)

Oczywiście, pewnych zależności czy ograniczeń się nie uniknie, ale wprowadzanie ich tam, gdzie nie potrzeba, w ogólnym rozrachunku jest dla nas całkowicie niekorzystne ekonomicznie.

Stawiam więc tezę: opłaca się robić porządnie - nawet, jeśli miałoby to nieco dłużej trwać.

Oczywiście - jeśli relacja tego "nieco dłużej" miała by być taka, jakiej użyłem w przykładzie, czyli 20:3, to się nie opłaca. Ale praktyka pokazuje, że czasem posiedzenie nad kodem (a częściej nad założeniami do niego) 10% czasu dłużej daje w wyniku kod o znacznie lepszej jakości - co, jak wykazałem wyżej, opłaca się przede wszystkim nam, czego wszystkim tutaj życzę :)

konto usunięte

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
Kod musi być możliwie mało zależny od środowiska, na którym będzie wykorzystywany i uruchamiany - wprowadzanie niepotrzebnych wymagań sprzętowych zmniejsza szansę na możliwość ponownego wykorzystania.

Tylko, że w praktyce to często jest utopia. Zależność od środowiska to jeden z wielu i według mnie nie najczęściej pojawiający się problem.
Numer jeden to zależność funkcjonalna. Najczęściej mamy sytuację, że coś "prawie pasuje" i teraz jest wiele sposobów aby to rozwiązać co wiąże się z czasem. Bardzo trudno ( a czasami niemożliwe ) jest przewidzenie wszystkich kontekstów użycia. Nawet gdy takie coś wiemy to jest pytanie czy jest sensownym spędzać czas robiąc coś na zasadzie "a nóż się przyda kiedyś".
Ja mam podejście, że zrobić na początku zrobić design taki aby późniejsze dołożenie funkcjonalności nie wymagało fundamentalnych zmian w tym co zrobiłem na początku.Michał Rotkiewicz edytował(a) ten post dnia 14.09.10 o godzinie 16:52
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Potrzebna Pomoc w projekcie c++

Zgoda, często to utopia.
Ale równie często to, czy dany kod będzie choć częściowo reużywalny, zależy od naszych decyzji podejmowanych bądź na etapie projektu, bądź w trakcie kodowania. Chodziło mi o to po prostu, że warto wyrobić sobie nawyk zwracania na to uwagi. Jeśli stanie się to nawykiem, to robimy to niemal mechanicznie - owszem, nasza "wydajność" jako programisty jest być może doraźnie nieco mniejsza, ale zyskujemy własny zbiór własnych gotowców, z których możemy korzystać jeśli będzie taka potrzeba (i jeśli będziemy chcieli) w kolejnych projektach, co z biegiem czasu wynagrodzi z nawiązką tą mniejszą "doraźną" wydajność.

Mnie życie nauczyło jednej rzeczy: jeśli coś muszę robić wiele razy, to wolę zrobić to raz a dobrze, a potem z tego korzystać - oczywiście jeśli ma to sens.

A co do wspomnianego przez Ciebie designu umożliwiającego łatwe dodawanie nowych funkcjonalności - podpisuję się obydwoma łapkami :) Też zawsze staram się tak robić - pod warunkiem oczywiście, że nie zabiję tym projektu (wydajnościowo, czasowo czy pod względem komplikacji).
L P

L P podskala.net

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
Zgoda, często to utopia.
Ale równie często to, czy dany kod będzie choć częściowo reużywalny, zależy od naszych decyzji podejmowanych bądź na etapie projektu, bądź w trakcie kodowania. Chodziło mi o to po prostu, że warto wyrobić sobie nawyk zwracania na to uwagi. Jeśli stanie się to nawykiem, to robimy to niemal mechanicznie - owszem, nasza "wydajność" jako programisty jest być może doraźnie nieco mniejsza, ale zyskujemy własny zbiór własnych gotowców, z których możemy korzystać jeśli będzie taka potrzeba (i jeśli będziemy chcieli) w kolejnych projektach, co z biegiem czasu wynagrodzi z nawiązką tą mniejszą "doraźną" wydajność.

Mnie życie nauczyło jednej rzeczy: jeśli coś muszę robić wiele razy, to wolę zrobić to raz a dobrze, a potem z tego korzystać - oczywiście jeśli ma to sens.

A co do wspomnianego przez Ciebie designu umożliwiającego łatwe dodawanie nowych funkcjonalności - podpisuję się obydwoma łapkami :) Też zawsze staram się tak robić - pod warunkiem oczywiście, że nie zabiję tym projektu (wydajnościowo, czasowo czy pod względem komplikacji).

I znów przyznaje Ci rację Piotrze. Jak coś robić to z pasją i zawsze porządnie. Jak się człowiek tego nie nauczy od początku to później gdzie pójdzie tam zostawi bałagan (palić na stosie takich trzeba). Jak ktoś "nowy w projekcie" ma coś dopisać to traci zmysły, rozwodzi się, zmienia orientacje seksualną (wymienione przypadki nie są śmieszne). Kodowanie dla mnie to też praca - stresująca praca. W praktyce, nie dość, że mamy rozwiązywać problemy rzeczywiste narzucone "z góry" to musimy walczyć z czyimś kodem tylko dlatego, że ktoś jest niechlujnym bałaganiarzem. Styl pisania kodu pozwala naprawdę dużo powiedzieć o takiej osobie (linus torwalds: dość gadania, pokaż kod!).

Polecam np. "Linux kernel programming style" lub FreeBSD style(9).
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Potrzebna Pomoc w projekcie c++

Dokładnie o to mi chodzi :)

Dodatkowo przy pracy w zespole pojawia się problem standardów kodowania.
Mam w dziale kolegę, postrzeganego przez management jako błyskotliwego i bardzo sprawnego programistę. Rzeczywiście: wiedza, pomysły - bez zarzutu. I rzeczywiście jest b. szybki. Ale jak ktoś potem ma usiąść do jego kodu, żeby coś zmienić/dodać/poprawić, to wcześniej zalicza łazienkę, żeby zawczasu puścić pawia, bo klawiaturę trudno jest potem wyczyścić :)
Wcięcia zupełnie z dupy - jak wyszło, powklejane kawałki z zupełnie innym nazewnictwem, nawias otwierający blok kodu raz od nowej linii, raz w tej samej co 'if' czy 'for', funkcje/metody czasem i na 10 ekranów, linie nie pozawijane po kilkaset znaków - słowem: burdel na kółkach.
I co z tego, że on zrobił to szybko, jak potem trzeba poświęcić godziny na sformatowanie tego tak, żeby dało się przeczytać.

A to jest wszystko kwestia odpowiednio wyrobionych nawyków.

konto usunięte

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
I co z tego, że on zrobił to szybko, jak potem trzeba poświęcić godziny na sformatowanie tego tak, żeby dało się przeczytać.

Samo sformatowanie wcięć to proste zadanie z parsowania plików tekstowych. Kolejny nawias otwierający - wcięcie o określoną liczbę spacji. Nawias "}" to powrót o określoną liczbę znaków. Po średniku znak nowej linii. I już kod da się czytać dużo łatwiej.

Takie coś się daje studentom na 1 roku na przedmiocie "Podstawy C".Adam Michalski edytował(a) ten post dnia 14.09.10 o godzinie 19:23
Jakub L.

Jakub L. Programista

Temat: Potrzebna Pomoc w projekcie c++

Nie macie jakichś autoformatterów? Na przykład zapiętych na systemie kontroli wersji jako pre-commit-hooki?

Bałaganiarski kod to jedno, bałaganiarski projekt jest o wiele gorszy, bo jego nie da się poprawić automatem. Projekt którego nie daje się rozbudowywać, tylko dla dodania nowej funkcjonalności trzeba go przepisać.
Natomiast fakt, że gościu wkleja kod z innych miejsc, oznacza właśnie że go używa powtórnie.

Czas realizacji - czasem te 10% czasu może być kluczowe - firma A obiecuje coś za 3 miechy, firma B za 100 dni, która wygra? Albo A za rok a B za 13 miesięcy?
W związku z tym, że ludziom trzeba płacić, to B jest droższa.
W przypadku gdy nawet kosztuje tyle samo, to dlaczego jako klient miałbym czekać dłużej?
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: Potrzebna Pomoc w projekcie c++

Jakub L.:
Bałaganiarski kod to jedno, bałaganiarski projekt jest o wiele gorszy, bo jego nie da się poprawić automatem. Projekt którego nie daje się rozbudowywać, tylko dla dodania nowej funkcjonalności trzeba go przepisać.
Dokładnie :)
Natomiast fakt, że gościu wkleja kod z innych miejsc, oznacza właśnie że go używa powtórnie.
Taaa, tyle że to zwykle nie jego kod, tylko np. z Googli czy z MSDN-a, i gościu nie zadaje sobie nawet trudu, żeby go elementarnie sformatować.
Dla mnie to jest brak szacunku dla kumpli z zespołu: "Ja zrobię szybko, szef pogłaszcze mnie po głowie i da premię, a potem niech się inni bujają."
Czas realizacji - czasem te 10% czasu może być kluczowe - firma A obiecuje coś za 3 miechy, firma B za 100 dni, która wygra? Albo A za rok a B za 13 miesięcy?
W związku z tym, że ludziom trzeba płacić, to B jest droższa.
Oczywiście. Konkurencja - tak. Ale nie kosztem jakości! A jakość kodu to nie tylko to, że on dobrze działa (lub nie) - ale także to, czy łatwo go potem utrzymywać. Nikt z firmą ślubu nie brał, autor może zmienić pracę i potem zostaje po nim taki potworek, co go nie wiadomo jak ugryźć :)
W przypadku gdy nawet kosztuje tyle samo, to dlaczego jako klient miałbym czekać dłużej?
Bo potem będę krócej czekał na poprawki?

To jest sprawa handlowca, tak to sprzedać, żeby klient kupił ten dodatkowy miesiąc. Nie mieszajmy kompetencji, Panowie.
Po prostu handlowiec musi wiedzieć i mieć przekonanie, że nasz soft jest lepszy od konkurencyjnego nie tylko dla tego, że jest tańszy.

Jakub - idąc Twoim tokiem rozumowania BMW powinno być w cenie Trabanta, bo inaczej nikt tego nie kupi. A ludzie kupują.

Nie sztuka zepsuć sobie markę (w imię budowania marki niskimi kosztami) puszczając słaby kod. Sztuka potem ją odzyskać. Wytłumaczysz potem klientowi, że coś się nie da, bo uprościłeś pewne rzeczy żeby było taniej? Nie wytłumaczysz. Co więcej, klient poczuje się oszukany.
To się nie opłaca - programowanie musi kosztować i nie ma co psuć rynku tanią i słabą robotą.Piotr Głudkowski edytował(a) ten post dnia 14.09.10 o godzinie 19:54
Jakub L.

Jakub L. Programista

Temat: Potrzebna Pomoc w projekcie c++

Piotr Głudkowski:
Jakub L.:
Natomiast fakt, że gościu wkleja kod z innych miejsc, oznacza właśnie że go używa powtórnie.
Taaa, tyle że to zwykle nie jego kod, tylko np. z Googli czy z MSDN-a, i gościu nie zadaje sobie nawet trudu, żeby go elementarnie sformatować.

Nie robi w ten sposób bugów? Z tego opisu wygląda, że to się powinno sypać na styku starego i nowego.
Czas realizacji - czasem te 10% czasu może być kluczowe - firma A obiecuje coś za 3 miechy, firma B za 100 dni, która wygra? Albo A za rok a B za 13 miesięcy?
W związku z tym, że ludziom trzeba płacić, to B jest droższa.
Oczywiście. Konkurencja - tak. Ale nie kosztem jakości! A jakość kodu to nie tylko to, że on dobrze działa (lub nie) - ale także to, czy łatwo go potem utrzymywać. Nikt z firmą

Jak masz kod typu sprzedaj i zapomnij, to nie ma mowy o żadnym utrzymaniu.
W przypadku gdy nawet kosztuje tyle samo, to dlaczego jako klient miałbym czekać dłużej?
Bo potem będę krócej czekał na poprawki?

Sprzedaj i zapomnij.
To jest sprawa handlowca, tak to sprzedać, żeby klient kupił ten dodatkowy miesiąc. Nie mieszajmy kompetencji, Panowie.

Chińczycy albo Hindusi są w stanie obiecać wszystko.
Jakub - idąc Twoim tokiem rozumowania BMW powinno być w cenie Trabanta, bo inaczej nikt tego nie kupi. A ludzie kupują.

Jak ktoś potrzebuje przejechać z miejsca A do B, to Trabant wygląda całkiem sensownie.
Niestety nie posiada ficzerów typu technologia wykonania karoserii, komfort jazdy może być inny, prędkość, zużycie paliwa, bezpieczeństwo, prawdopodobieństwo wyrwania laski... .
W tym akurat przypadku wiesz, albo boleśnie jesteś się w stanie przekonać za co zapłaciłeś.
W przypadku oprogramowania tak niestety jest. Na pierwszy rzut oka CEO nie widać dlaczego za jedne obrazki na 19" czy 21" miałby zapłacić więcej niż za inne.
Nie sztuka zepsuć sobie markę (w imię budowania marki niskimi kosztami) puszczając słaby kod. Sztuka potem ją odzyskać.
Wytłumaczysz potem klientowi, że coś się nie da, bo uprościłeś pewne rzeczy żeby było taniej? Nie wytłumaczysz.

Zasugerowałbym w celach poznawczych pracę w jakiejś większej korpo :)
Oczy potrafią zbieleć.
Co więcej, klient poczuje się oszukany.
To się nie opłaca - programowanie musi kosztować i nie ma co psuć rynku tanią i słabą robotą.

Hindusi i Chińczycy wydają się być innego zdania niestety, a efekty kupienia słabego oprogramowania wyskakują z pewnym opóźnieniem, zazwyczaj już po premii dla manago za kupienie softu taniej, a potem idzie w koszty.

Następna dyskusja:

potrzebna pomoc dla student...




Wyślij zaproszenie do