Is it still TDD if I follow the cycle for each method alone?

The question is not very expressive, anyway what I was wondering is if, if I follow the red-green-refactor cycle for each method is still TDD or if it has to be done globally.
I mean, let’s say I have 5 methods to test, I can follow two roads:

  1. Write tests for all methods, start test routine, add code to methods, add requirements to test, re-add code to methods, and so on (simplified, I know).
  2. Write test for a method and follow that cycle for that method until everything is satisfied, then move on to the next method’s test and perform the cycle again, and do this for 5 times

Number 1 is TDD, but is number 2 still TDD? I would say yes because it follows the philosophy of TDD, but I’m not sure if it’s really like that or I have to write all the tests first and then cycle “globally”.

Create Manually 150 Do Follow Blog Comments for $5

I am off page SEO expert and I will give you comments backlink which helps to rank your site in google searches google always love good and quality backlinks because backlink improve your site SEO da pa or pr which help to get more visitor and sale so I am here to give you quality backlinks for your website SPECIAL SPECIAL THIS MONTH OFFER BUY 2 GIGS GET 1 FREE ★★★ HIGHEST QUALITY PR7-PR3 PERMANENT BACKLINKS THAT WILL RANKS YOU FAST!

by: Biljana1
Created: —
Category: Blog Comments
Viewed: 78


How to successfully follow Drupal.org’s instructions for updating via composer

NOTE: The following question is not in the context of converting a non-Composer-managed Drupal site to being managed by Composer, as suggested in it being identified as a possible duplicate. This site IS managed by composer. It should not be concluded that working backwards up a decision tree from a single solution results in a single context/question. It already states that it is referring to a Composer update (one wouldn’t be updating a composer install that isn’t yet a composer install) and cites a solution that states in its readme file that it isn’t a solution for sites that need to be converted to being composer-managed.

In following the instructions at https://www.drupal.org/docs/8/update/update-core-via-composer, prior to updating core from 8.5.3 to 8.6.12, when I attempt to go through the list of available module updates

composer outdated "drupal/* 

the very first update:

composer update drupal/admin_toolbar --with-dependencies 

results in:

Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.    Problem 1     - don't install drupal/core 8.6.12|remove drupal/drupal dev-master     - don't install drupal/core 8.6.12|remove drupal/drupal dev-master     - Installation request for drupal/drupal dev-master -> satisfiable by drupal/drupal[dev-master].     - Installation request for drupal/core (locked at 8.6.12, required as ^8.6) -> satisfiable by drupal/core[8.6.12]. 

Following are the contents of my composer.json file:

{     "name": "drupal/drupal",     "description": "Drupal is an open source content management platform powering millions of websites and applications.",     "type": "project",     "license": "GPL-2.0+",     "require": {     "drupal/core": "^8.6",     "composer/installers": "^1.0.24",         "wikimedia/composer-merge-plugin": "~1.3",         "drupal/console": "~1.0",         "drupal/migrate_d2d": "3.x-dev",         "drupal/codesnippet": "^1.6",         "drupal/nexus": "^1.0@beta",         "drupal/social_media_links": "^2.2",         "drupal/twitter_block": "^2.1",         "drupal/nocaptcha_recaptcha": "1.x-dev",         "drupal/adsense": "^1.0",         "drupal/pathauto": "^1.0",         "drupal/admin_toolbar": "^1.19",         "drupal/recaptcha": "^2.2",         "drupal/blazy": "^1.0@RC",         "drupal/calendar": "1.x-dev",         "drupal/computed_field": "^2.0@alpha",         "drupal/crop": "^1.2",         "drupal/date": "1.x-dev",         "drupal/dropzonejs": "^1.0@alpha",         "drupal/embed": "^1.0",         "drupal/entity_browser": "^1.1",         "drupal/entity_embed": "^1.0@beta",         "drupal/image_widget_crop": "^2.0",         "drupal/languageicons": "1.0-beta1",         "drupal/media_entity_document": "^1.1",         "drupal/media_entity_image": "^1.2",         "drupal/media_entity_instagram": "^1.4",         "drupal/media_entity_slideshow": "^1.2",         "drupal/media_entity_twitter": "^1.3",         "drupal/scheduler": "^1.0@RC",         "drupal/simple_gmap": "^1.3",         "drupal/views_field_view": "^1.0@beta",         "drupal/views_php": "1.x-dev",         "drupal/webform": "^5.0@beta",         "drush/drush": "9.0.0-beta7",         "drupal/social_login": "2.72",         "drupal/likebtn": "^2.13",         "drupal/drupal8_zymphonies_theme": "^1.3"     },     "replace": {     },     "minimum-stability": "dev",     "prefer-stable": true,     "config": {         "preferred-install": "dist",         "autoloader-suffix": "Drupal8"     },     "extra": {         "_readme": [             "By default Drupal loads the autoloader from ./vendor/autoload.php.",             "To change the autoloader you can edit ./autoload.php.",             "This file specifies the packages.drupal.org repository.",             "You can read more about this composer repository at:",             "https://www.drupal.org/node/2718229"         ],         "merge-plugin": {             "include": [                 "core/composer.json"             ],             "recurse": false,             "replace": false,             "merge-extra": false         },         "installer-paths": {             "core": ["type:drupal-core"],             "modules/contrib/{$  name}": ["type:drupal-module"],             "profiles/contrib/{$  name}": ["type:drupal-profile"],             "themes/contrib/{$  name}": ["type:drupal-theme"],             "drush/contrib/{$  name}": ["type:drupal-drush"],             "modules/custom/{$  name}": ["type:drupal-custom-module"],             "themes/custom/{$  name}": ["type:drupal-custom-theme"]         }     },     "autoload": {         "psr-4": {             "Drupal\Core\Composer\": "core/lib/Drupal/Core/Composer"         }     },     "scripts": {         "pre-autoload-dump": "Drupal\Core\Composer\Composer::preAutoloadDump",         "post-autoload-dump": [           "Drupal\Core\Composer\Composer::ensureHtaccess"         ],         "post-package-install": "Drupal\Core\Composer\Composer::vendorTestCodeCleanup",         "post-package-update": "Drupal\Core\Composer\Composer::vendorTestCodeCleanup"     },     "repositories": [         {             "type": "composer",             "url": "https://packages.drupal.org/8"         }     ] } 

Follow up to Upgrade to 18.04

I am following the instructions here to upgrade Ubuntu from 17.10 to 18.04. But when I run update-manager -d I get errors:

No protocol specified Unable to init server: Could not connect: Connection refused No protocol specified Unable to init server: Could not connect: Connection refused No protocol specified Unable to init server: Could not connect: Connection refused

(update-manager:7789): Gtk-WARNING **: cannot open display: :0

18.04 not available in Software Updater

Are “I’m writing android applications” and “follow open-closed principles” reasons to allow global state?

For example, suppose I have an android application, in simple, there are 3 activities :

MainActivity -> Main2Activity -> Main3Activity 

,which user can visit them in sequence (eg: by button click), also there is some global data to show:

public class GlobalData{     public static String userId; }  public class MainActivity extends AppCompatActivity {     //button click listener     public void toMain2Activity(View view){         Intent i = new Intent(this, Main2Activity.class);         this.startActivity(i);     } }  public class Main2Activity extends AppCompatActivity {     //button click listener     public void toMain3Activity(View view){         Intent i = new Intent(this,Main3Activity.class);         this.startActivity(i);     } }  public class Main3Activity extends AppCompatActivity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main3);     } } 

One day, Main3Activity needs to display userId in GlobalData, so I modify Main3Activity:

public class Main3Activity extends AppCompatActivity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main3);          Toast.makeText(this,GlobalData.userId, Toast.LENGTH_LONG).show();     } } 

But according to Why is Global State so Evil?, I should avoid global state, so I try to pass the original data object instead of allowing global state, so I try to pass the global object to Main3Activity instead of share it everywhere:

public class GlobalData implements Serializable {     public String userId="user_67890"; }  public class MainActivity extends AppCompatActivity {     private GlobalData globalData=new GlobalData();      public void toMain2Activity(View view){         Intent i = new Intent(this, Main2Activity.class);         i.putExtra("global",this.globalData);         this.startActivity(i);     } }  public class Main2Activity extends AppCompatActivity {     private GlobalData globalData;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main2);          this.globalData=(GlobalData)this.getIntent().getSerializableExtra("global");     }      public void toMain3Activity(View view){         Intent i = new Intent(this, Main3Activity.class);         i.putExtra("global",this.globalData);         this.startActivity(i);     } }  public class Main3Activity extends AppCompatActivity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main3);         GlobalData globalData=(GlobalData) this.getIntent().getSerializableExtra("global");         Toast.makeText(this,globalData.userId, Toast.LENGTH_LONG).show();     } } 

But I think avoiding global state is less maintainable and more unpredictable in my case because:

  1. With global state, I don’t need to modify Main2Activity, which seems more fit the open closed principle, but if I want to avoid global state, I need to modify all intermediate (eg:Main2Activity) UI from start(source of GlobalData) to terminal (UI that uses GlobalData), which my android application is usually one UI component is included by another UI in depth.

  2. If I pass the GlobalData only when I need it, it means I may have many functions need to add something like “GlobalData globaldata=this.getIntent().getSerializableExtra…” and “Intent i=…” everywhere, which I think it is less readable

  3. In the modified version, it is possible that the this.getIntent().getSerializableExtra is failed because I may forget to put the object into the intent, and I need to handle if I get GlobalData failed, which I think it is less maintainable

  4. Usually the GlobalData is not involved in Unit Test because the GlobalData is usually displayed directly, so I think sharing GlobalData doesn’t make the app harder to test

  5. Using intent let me need to think how to write additional codes to pass data between same level UI components (eg:same Activity, from EditText to error message detail label)

As above, I think avoid global state is more evil than having global state in my case. So my question is, are “I’m writing android applications” and “follow open-closed principles” reasons to allow global state?

How to follow ios guidelines when designing in points? How to be sure about sizes of UI elements?

Good day to everyone,

Need help from very experienced UX designers, who can provide detailed answer here.

I have a few questions regarding the design process of an iPhone mobile app (daily task manager app to be exact). It should be an iPhone app supporting iOS version 9.

  1. General question: If we should provide mobile app design (in Sketch) for iPhone devices (Iphone 5S (320×568) render at 2x,6 (375×667) render at 2x,6+ (414×736) render at 3x), which have different dimensions and resolutions, what is the size (from the beginning) we have to start to work with when following good practice? Should I provide high fidelity mockup for any specific devices first, and only scale it down or up to other 1x sizes after? P.S.: When we want to handover files to the developer we will have to export in all @1x, @2x and @3x sizes. I know that Sketch will export my 1x design to 2x and 3x. But again the question is the same – should I design for 1x sizes for all devices separately – 1x size for 5S, 1x size for 6 and 1x size for 6+ first?

  2. I am working in Sketch 3. And I’ve been started with 375*667 points for @1x for iPhone 6 first. When I have to design for iPhones, I usually start with art-board of iPhone 6 at 1x (375×667 px). I found this more convenient than any other art-boards. When I am working in points, should I still abide by IOS Guidelines/Standards? I know that the general rule is 44pt for buttons and 12pt for small text, 17pt for body text and 20pt+ for titles. Why when I am working in points does the 44pt size seems to be a similar size for buttons as for segmented controls? It takes more space apparently. How can I comply with UI element sizes in such case? How are you following GUI standards when designing in points?

[ Politics ] Open Question : Wouldn’t Trump and the GOP love to follow Israel’s lead, and declare “The US is not about all its citizens, but only of white people”?

“I would like to clarify a point that, apparently, is not clear to slightly confused people in the Israeli public… “Israel is the national state, not of all its citizens, but only of the Jewish people,” Netanyahu said. https://news.yahoo.com/wonder-woman-rescue-gal-gadot-takes-netanyahu-141613131.html

Publish Do Follow Guest Post On Selfgrowth With Google Index for $5

What is Self Growth? Self Growth is a dynamic entertainment, news and Online Self Improvement community that serves more than 20 million monthly readers across the U.S. and around the world. You do not need to go any other fake seller who delete/remove your article in a few days. SEO State: DA 74+ PA 64+ TF 48+ CF 56+ SATISFACTION GUARANTEED: If you are not happy then i will refund-but you will be i am sure! Unsure if this Service is right for you? Send me a private message. I cannot accept sites in the following niches: gambling, dating, adult and pharmacy: Benefits: A link from Self Growth will definitely your business/website to be easily found on search engines, such as Google, Bing, Yahoo, etc.

by: scottcrone
Created: —
Category: Guest Posts
Viewed: 153


Publish a guest post on Berkeley, Berkeley. edu – DA 93, Do follow for $40

I will guest post on Berkeley – Berkeley.edu. One backlink from such a prestigious website can make a HUGE difference to your rankings! I am a PR and outreach expert, and I can help you do media outreach that gets results. I will help you pitch Berkeley.edu to publish an article with a dofollow link to your site. The metrics of this site are as follows: ✔ Domain Authority (DA): 93 ✔ Page Authority (PA): 90 ✔ Link Type (PA): Do follow What you will get: 1. High-Quality DoFollow backlink 2. The turnaround time is 7 – 10 days. Please note: 1. I cannot accept sites in the following niches: gambling, dating, adult and pharmacy. 2. The turnaround time is 7 days. 4. The backlink I will help you get on Berkeley.edu is dofollow. This will give you enormous exposure; greatly boost your SEO ranking. 5. I can link to informational pages (e.g. blog posts) or homepage with branded keyword (your domain name). If you’ve got any question, feel free to contact me. I’ll be happy to help and work with you.

by: scottcrone
Created: —
Category: Guest Posts
Viewed: 201