Loading...
quickben avatar quickben 966 Точки

Хора вкарайте малко мисъл, правите един обратен цикъл и си решавате проблема, доста по-бързо и по-лесно е отколкото да викате методи които презаписват колекция, и също така подобен синтаксис (Console.ReadLine().Split().Select(int.Parse).ToArray();) се счита за лоша практика, нарушава се четимоста и ако някой от тези методи "гръмне" ще ви е по-трудно да разберете кой точно е виновника, това, че нещо може да стане на един ред с chain-ване на 10 метода не го прави добра идея.

1
Thenis avatar Thenis 219 Точки

Console.ReadLine().Split().Select(int.Parse).ToArray();) се счита за лоша практика

Тогава защо ни се показва и се използва на лекциите и упражненията щом е лоша практика?

https://youtu.be/e3pdX13ckLw?t=1h18m55s

0
11/06/2016 16:24:36
quickben avatar quickben 966 Точки

За да ви е по-лесно в началото :), в курса по Качествен Прогамен Код се казват тези неща. Отделно е хубаво да се подлага на съмнение всичко което се казва някъде или е написано някъде, най-малкото по-този начин ще се разровиш тук там и ще откриеш различни начини за справяне с даден проблем, а в по-добрия случай ще откриеш по-бързо и по-четимо решение. Все пак за година-две няма как да се направи завършен програмист и никой не го очаква и никой не го твърди. СофтУни дава старт в кариерата и полага солидни основи за бъдещето ви развитие. Ако искаш питай Наков да видиш какво ще ти каже, дали трябва да се вярва на сляпо. Правете тестове, ровете се, търсете различни решения на даден проблем, така ще си обогатите знанията и после ще ви е по-лесно.

0
11/06/2016 16:37:08
alex1966 avatar alex1966 255 Точки

Биха могли да се считат за лоша практика ако са chain-нати 30 заявки на ред, но проста заявка като четене и парсване на масив не мисля че е лоша практика в никакъв случай.

0
quickben avatar quickben 966 Точки

Естествено имаш правото да си мислиш каквото решиш, аз друго съм чел и друго знам. Самия факт, че не са направили метод от рода на Console.ReadLineAndSplitLineAndParseAndPutItInArray(); мисля, че трябва да говори, но както казах всеки сам решава за себе си, докато не започне работа с други хора поне :) Според мен подобен тип код е мазало и противоречи най-малкото на SRP принципа, но ако бъдем честни "приложения" тип 200 реда в един клас с Main() метод по подразбиране са мазало, но това означава ли, че не трябва да се стараем? (реторичен въпрос)

Приятен и успешен ден на всички.

0
11/06/2016 17:51:14
alex1966 avatar alex1966 255 Точки

В този етап на нашето обучение ние не гоним performance, ами някак си по-елегантен начин за решаване на проблеми, това не означава че не се стараем, просто "новото" (LINQ) зарибява. Доколкото до SOLID принципите, никой няма да ни ги гледа поне следващите 6месеца  :)

1
11/06/2016 19:12:23
quickben avatar quickben 966 Точки

Напълно съм съгласен, ако ми видиш кода когато започвах във СофтУни гледах всичко на един ред да пиша и за това гледам да предам нещо на "младите", все пак умните хора се учат от грешките на другите, за сега е факт, че не е грешно да се chain-ват толкова метода на един ред с оглед на това за кое ниво става въпрос, просто ако от сега се махне този навик после ще е по-лесно аз това казвам.

А относно SOLID принципите то там цял живот може да пишеш код и пак е трудно(ако не невъзможно) да ги спазваш всичките като хората.

Поздрави.

0
alex1966 avatar alex1966 255 Точки

Да съгласен съм, но наскоро гледах Open source Judge-a, и ми направи впечатление че там също са сбити доста заявки който са непроследваеми. Искам да кажа че един от факторите е времето, много по лесно е да се напишат 2-3 заявки, отколкото да тръгнеш да губиш време да си пишеш методите сам. Въпреки че тези методи ще работят по бързо от LINQ.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.